谈谈Map、List、Set的共同点和区别
共同点:
它们都是接口、它们的实现类都可以存储对象。
区别:
1.List和Set都继承Collection接口,Map是一个单独的接口;
2.List存储的对象可以重复,允许多个null元素,元素的插入和输出都是有序的。
3.Set:不允许重复对象的无序容器,只允许一个null元素
,但是它的实现类TreeSet通过 Comparator 或者 Comparable 维护了一个排序顺序。
4.Map:无序的key-value存储,key只能有一个不能重复,value可以重复,允许空值空键但空键只能有一个。
使用场景
1、List:适合用来做查找
ArrayList:随机查找快,添加、删除慢,读多写少的场景
LinkedList:频繁添加删除元素的场景。
Set:要保证数据唯一性的场景。如果要保证有序性就用TreeSet和LinkedSet
Map:键值对存储用得最多,如果不知道用什么好,先用它试试,不行再考虑别的。
热爱编程的通信人: 学习了,谢谢分享
ctotalk: 挺好
青山_袁同学: 倒数第二个数据是不是错了
麻辣薯片: 用dp也也可以吧?