ArrayList底层是数组。

LinkedList底层是双向链表。

HashMap底层与HashTable原理相同,Java 8版本以后如果同一位置哈希冲突大于8则链表 变成红黑树。

HashTable底层是链地址法组成的哈希表(即数组+单项链表组成)。

HashSet底层是HashMap。

LinkedHashMap底层修改自HashMap,包含一个维护插入顺序的双向链表。

TreeMap底层是红黑树。

LinkedHashSet底层是LinkedHashMap。

TreeSet底层是TreeMap。