集合Collection

集合Collection

1.接口

List :ArrayList LinkedList

Map : hashMap TreeMap

Set : HashSet TreeSet

2.Map : 映射 key:键 value:值

key被放在Set中,无序,不重复;value不是唯一的

HashMap 底层结构:①数组 ②链表

例如:一组数1 2 3 4 5 6 7 8 9 10 %4 通过他们的hash值%数组长度确定存放放入位置,则数组0 1 2 3 的位置分别存放数4 1 2 3 ,

5 % 4 = 1 位置与数1重合,这叫做哈希冲突(位置重复); 以此类推6与数2冲突,7与数3冲突, 8与数4冲突...

冲突元素在同一位置形成单向链表,这样会出现链表

0号位置 4 → 8

1号位置 1 → 5 → 9

2号位置 2 → 6 → 10( → 14 → 18)

3号位置 3 → 7

每一个位置最多挂8个,不能超过8个,链表节点数超过8个就会转为红黑树,此数 叫Red-Black Tree (RBT) 红黑树。

typora-picture

默认加载因子 0.75,元素达阈值扩容两倍,扩容后所有元素重新算下标(rehash)

当数组长度用到0.75(加载因子)时,数组就会扩容(扩大到原来的两倍)

posted @ 2026-06-27 16:55  -柘  阅读(15)  评论(0)    收藏  举报