1. 程式人生 > >HashSet實現原理和儲存資料

HashSet實現原理和儲存資料

HashSet實現原理:

      hashSet類似於一個16個元素table表,相當於16個桶。往HashSet新增元素的時候,首先,會通過計算元素的hashCode值;然後,元素hashCode值與16進位制“1111”進行按位與運算,計算的結果對應元素儲存的位置;如果根據hashCode值計算的位置已經存在,會根據equals方法跟該元素進行比較,如果為true,不允許新增,為false在該位置追加。

如下圖,Object1新增到HashSet中,根據運算結果放到table3中,Object2放到table b中,Object3和Object1的結果一樣,對比equals方法返回false,那麼繼續新增到table3中,鏈狀形式連線;Object4放到table f中