2010-10-01 76 views
4

據報道,從Java JDK 1.3.1到JDK 1.4.0 HashMap慢5倍(見 here)。Java HashMap;是值得推薦的嗎?

Java 6中的HashMap的藝術狀況如何? 建議使用?

謝謝。

+0

你願意在哪個地方使用它? – 2010-10-01 09:21:13

+4

爲什麼評論無效downvote?這聽起來很有趣。因此:+1。 – 2010-10-01 09:23:29

+0

問題很明顯。這個bug是否被修復,或者它仍然是java中的5倍1.3.1 – Luixv 2010-10-01 09:23:48

回答

11

該錯誤在1.4.0_02和1.4.1中被標記爲固定,因此可能不需要擔心其在Java 1.6中的性能。

(如果你在多線程環境的時候,你可能想ConcurrrentHashMap。)只是爲了您的信息

+0

感謝您的回答! – Luixv 2010-10-01 09:51:57

0

,如果不把HashMap和哈希表之間already.the不同的是,Hashtable是同步的,並且不允許null作爲關鍵字,主要區別在於hashmap具有增強的散列函數,可防止兩個不同的對象進入單個存儲桶或防止散列衝突。

0

@Suresh 說HashMap完全防止碰撞是不正確的。事實上,在每個存儲桶中,都有一個單獨鏈接的條目列表的實現。所以,碰撞確實發生在HashMap中。我承認與Hashtable相比,我不確定碰撞的百分比。