芯が強い人になるESTJ-A

# List、Set、Map的区别

IT開発 Tags: 无标签 阅读: 156

截屏2021-04-24 12.58.53.jpg
List:
1.可以允许重复的对象。
2.可以插入多个null元素。
3.是一个有序容器,保持了每个元素的插入顺序,输出的顺序就是插入的顺序。
4.常用的实现类有 ArrayList、LinkedList 和 Vector。ArrayList 最为流行,它提供了使用索引的随意访问,而 LinkedList 则对于经常需要从 List 中添加或删除元素的场合更为合适。

Set:
1 不允许重复对象
2无序容器,你无法保证每个元素的存储顺序,TreeSet通过 Comparator 或者 Comparable 维护了一个排序顺序。
3只允许一个 null 元素
4.Set 接口最流行的几个实现类是 HashSet、LinkedHashSet 以及 TreeSet。最流行的是基于 HashMap 实现的 HashSet;TreeSet 还实现了 SortedSet 接口,因此 TreeSet 是一个根据其 compare() 和 compareTo() 的定义进行排序的有序容器。
set和Iterator迭代器是好伙伴
截屏2021-04-24 13.30.52.jpg
截屏2021-04-24 16.52.42.jpg

map
截屏2021-04-24 13.00.29.jpg

什么场景下使用list,set,map呢?
list:有序访问、索引访问
set(HashSet、LinkedHashSet 或者 TreeSet):去重
map:键值存储
截屏2021-04-24 13.01.46.jpg