List
特点:元素有放入顺序,元素可重复
- ArrayList :层数据结构使用数组结构, 查询速度快。但是增删稍慢。(线程不同步,数组0.5倍延长)
- LinkedList:底层使用链表数据结构, 增删块, 但是查询慢。
- Vector:底层是数组数据结构,查询增删慢(线程同步,数组百分百延长)已经被ArrayList取代
Map
特点:元素按键值对存储,无放入顺序
- HashMap:非线程安全,高效,支持null
- HashTable:线程安全,低效,不支持null
- LinkedHashMap:线程不安全,有序,key和value都允许为空
Set
特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的)
- HashSet(底层由HashMap实现) :存储object的集合,既然是集合,就不允许有重复元素。判断两个元素是否相同,是由hashCode与equals方法共同完成的。
- LinkedHashSet