1. 程式人生 > >HashTable與HashMap中的hash碰撞問題

HashTable與HashMap中的hash碰撞問題

HashTable與HashMap的瓶頸

因為熱愛,所以拼搏。 –RuiDer

HashTable與HashMap的瓶頸

我們知道,HashTable和HashMap的底層結構是陣列與連結串列結合實現,Key的hashCode決定物件在陣列中儲存的位置,相同hashCode的key物件會放在同一個陣列角標下。這是最理想的狀況,但是存在另外一個問題,當所有的物件的hashCode相同時,所有物件都被放在一個角標中,就會出現hash碰撞問題,這時陣列縮為一個連結串列。這時,get方法本來時間複雜度為O(1)卻變成了O(n),效能急劇下降。。