在听了老杜讲的集合后,做了一点点笔记,讲的很细节,诠释了集合之间的关系:
ArrayList: 底层是数组。
LinkedList: 底层是双向链表。
Vector: 底层是数组,线程是安全的,效率比较低,使用较少。
HashSet: 底层是HashMap,放到HashSet集合中的元素等同于放到HashMap集合key部分了
TreeSet:底层是TreeMap,放到TreeSet集合中的元素等同于放在TreeMap集合key部分了。
HashMao: 底层是哈希表。
HashTable: 底层也是哈希表,只不过线程是安全的,效率较低使用较少。
Prorerties:线程是安全的,并且key和value只能储存字符串String。
TreeMap:底层是二叉树,TreeMap集合的key可以自动按照大小顺序排序。
List集合存储元素的特点
有序可重复
有序,存进去的顺序和取出来的顺序相同,每个元素有下标注
可重复:存进去1,还可以在存储1
Set(Map)集合存储元素的特点
无序,不可重复
无序,存进去的顺序和取出的顺序不一定相同,另外Set集合元素没有下标
不可重复,存进去1,不能再次储存了
SorteSet (SorteMap)集合存储元素特点
首先是无需不可重复,但是SoreSet集合中的元素是可以排序的
无序,存进去的顺序和取出来的顺序不一定相同,另外Set集合元素没有下标.
不可重复,存进去1,不能在存储了
可排序,可以按照大小顺序排序
Map集合的Key,就是一个集合
往Set集合放元素,实际上放到了Map集合的key部分。