所有的实现类:
- ArrayList:底层是数组。
 - LinkedList:底层是双向链表。
 - Vetor:底层是数组,线程安全的,效率较低,使用较少。
 
- HashSet:底层是 HashMap,放到 HashSet 集合中的元素等同于放到 HashMap 集合 key 部分。
 - TreeSet:底层是 TreeMap,放到 TreeSet 集合中的元素等同于放到 TreeMap 集合 key 部分。
 - HashMap:底层是哈希表。
 - Hashtable:底层是哈希表,线程安全的,效率较低,使用较少。
 - Properties:线程安全,并且 key 和 value 只能存储字符串 String。
 - TreeMap:底层是二叉树,TreeMap 集合的 key 可以自动按照大小顺序排序。
 
List 集合存储元素的特点:
- 有序可重复
 - 有序:存进去的顺序和取出的顺序相同,每一个元素都有下标。
 - 可重复:存进去1,可以再存储一个1。
 
Set(Map) 集合存储元素的特点:
- 无序不可重复
 - 无序:存进去的顺序和取出的顺序不一定相同。另外 Set 集合中元素没有下标。
 - 不可重复:存进去1,不能再存储1了。
 
SortedSet(SortedMap) 集合存储元素的特点:
- 无序不可重复,但是集合中的元素可排序
 - 可排序:可以按照大小顺序排序。
 
Map 集合的 key,就是一个 Set 集合。往 Set 集合放数据,实际上放到了 Map 集合的 key 部分。