Map
HashMap存入的键值对在取出的时候是随机的,也是我们最常用的一个Map.它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度。在Map 中插入、删除和定位元素,HashMap 是最好的选择。
hashcode一样时采用链表存储;java8,超过8个元素是采用红黑树;
TreeMap
基于红黑树实现,取出来的是排序后的键值对。
LinkedHashMap
是HashMap的一个子类,如果需要输出的顺序和输入的相同,那么用LinkedHashMap可以实现. (应用场景:购物车等需要顺序的)
Hashtable
ConcurrentHashMap
WeakHashMap
Set
HashSet
LinkedHashSet
TreeSet
List
ArrayList
LinkedList