此時,它們被添加到具有相同哈希值的元素的後面。它們在數組的相同位置,但是它們組成了壹個鏈表。同壹個鏈表上的哈希值是相同的,所以數組存儲在壹個鏈表中。當鏈表長度過長時,鏈表轉換成紅黑樹,大大提高了搜索效率。
當鏈表數組的容量超過初始容量的0.75時,通過哈希對鏈表數組進行兩次擴展,將原鏈表數組移動到新數組中。
HashMap的壹個實例有兩個影響其性能的參數:
初始容量和裝載系數。容量是哈希表中的桶數,初始容量只是哈希表創建時的容量。
負載因子是壹種衡量哈希表在容量自動增加之前可以有多滿的指標。當哈希表中的條目數量超過加載因子和當前容量的乘積時,哈希表將被重新哈希(即內部數據結構將被重建),這樣哈希表將具有大約兩倍的桶數量。在Java編程語言中,加載因子的默認值為0.75,默認哈希表元素為101。