簡體   English   中英

hashmap 1.4和1.6之間的區別

[英]Difference between hashmap 1.4 and 1.6

我的應用程序運行在1.41.6 元素的順序是打印在1.6版本不同於1.4 我使用了LinkedHashMap修復了這個問題。 現在這個訂單與1.4完全相同。 除了下載整個jdk之外,我沒有找到HashMap 1.4源代碼。 除了通用版本在新版本中有什么變化?

HashMap中元素的迭代順序從未得到保證,因此實現可以自由地更改它。 LinkedHashMap已經解決了這個缺點。

這樣的改變可能是由於例如Java 1.4.1中的哈希算法完全改進 ......但是,我們還注意到在將項目遷移到Java6時發生了這樣的改變,因此該版本也發生了變化。

HashMap的迭代順序是未定義的 這意味着它可以(並且確實)一直在變化。 它不僅取決於代碼,還取決於對象的哈希碼的值,它們本身不僅可以從版本到版本不同,甚至可以從運行到運行。

LinkedHashMap特別作為具有可預測迭代順序的HashMap替代方案存在。

我想HashMap的實現已經改變了。 HashMap不保證任何訂單,因此您不應該依賴它,因為可以在沒有任何通知的情況下使用新版本更改它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM