三大容器介绍
名称 | 结构 | 特点 | 常见实现类 |
---|---|---|---|
List(列表) | 由有序的元素序列组成,可以包含重复元素 | 可以通过索引访问元素,插入的顺序与遍历顺序一致 | ArrayList、LinkedList、Vector |
Map(映射) | 由键值对(Key-Value)组成的集合,键唯一,值可以重复 | 通过键快速查找值,不保证插入顺序,每个键唯一 | HashMap、TreeMap、LinkedHashMap、HashTable |
Set(集合) | 由唯一元素组成的集合 | 不允许重复元素,没有索引概念,不保证插入顺序 | HashSet、TreeSet、LinkedHashSet |
使用场景介绍
- List下面所有的类都是有序的,并且是可以重复的。
- Map适用于去重和计算相同的值出现的次数,HashMap可以去重但是不能保证顺序,LinkedHashMap去重的同时保证了key的顺序,TreeMap是可以去重的同时按照大小进行排序。
- Set适合在要求去重的情况下使用,并不能保证顺序。但是LinkedHashSet可以保证插入时的顺序。