ArrayList(List):

特点:
元素有放入顺序,元素可重复。
存储结构:
底层采用数组来实现的。
Array:查询快,插入慢。

LinkedList(List):

特点
元素无放入顺序,元素可重复
存储结构:
底层采用链表实现的。
Linked:查询慢,插入快。

HashSet(set):

特点:
元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有
该元素的HashCode决定的,其位置其实是固定的)
存储结构:
底层采用HashMap来实现

HashMap(Map):

特点:
key,value存储,key可以为null,同样的key会被覆盖。
存储结构:
底层采用数组、链表、红黑树来实现的。
原理讲解:
哈希算法(也叫散列)
取模:节省空间
用链表是来解决数组下标会覆盖的问题,冲突问题。为什么hashmap用两个数据结构。
链表查询的时候链表过长查询效率低,所以要用红黑树。
当链表的长度大于8的时候会用红黑树。当长度为6红黑树变链表。
0.75会扩容。

ConcurrentHashMap()

特点:
并发安全的HashMap ,比Hashtable效率更高
存储结构:
底层采用数组、链表、红黑树 内部大量采用CAS操作。并发控制使⽤synchronized 和CAS 来操作来实现的。
锁粒度小 头链表
cas lock
不阻塞 阻塞