一、List集合(ArrayList与LinkedList集合)
1、ArrayList:该集合实现了可变的数组,允许保存所有元素(包括null)。优势,可以根据索引位置对集合进行快速的随机访问;劣势,指定索引进行插入或删除对象速度较慢。
2、LinkedList:采用链表结构保存对象。优势,增删对象操作的执行速度较快;劣势,随机访问效率较低。
二、Set集合(HashSet和TreeSet集合)
特点:1、集合中的对象不按照特定的方式排序,只是简单的把对象加入到Set集合。2、Set集合中不能包含重复的对象
1、HashSet:底层实现是使用哈希表进行支持,实际上可以使用一个HashMap进行实现。特点:不保证元素每次迭代顺序相同、允许插入null元素
2、TreeSet:除了实现Set接口外,还实现了java.util.SortedSet接口。遍历集合时按照自然顺序递增排序,也支持比较器排序。
三、Map集合(HashMap和TreeMap集合)
Map集合按照 键-值 对进行存储。
1、HashMap:基于哈希表的Map接口实现。特点,增删查速度较快,推荐使用。
允许null键和null值,但是需要保证键的唯一性。迭代顺序无序。
2、TreeMap:除了实现Map接口外,还实现了java.util.SortedMap接口,因此映射关系具有一定的顺序,所以不允许存在键对象是null。