某些測試用例在我的應用程序中失敗,這取決於元素的插入順序。它使用Java 7中很好地工作,但升級到Java 8之後,這個問題開始在網上搜索,我發現這個在article:在Java 8中迭代HashMap時穩定的元素排序問題
的Java 8包括到HashSet的/地圖迭代順序一些可能的變化:
可以請一些人建議我 - 我如何在Map中按照與插入順序相同的順序迭代Map中的對象,考慮到我仍將在我的開發環境中使用Java 1.8?
是當然它從來沒有通過HashMap的放心,對象可以以相同的順序進行檢索,但它是在使用Java 7中
工作是否LinkedHashMap
工作來實現這一點?
'LinkedHashMap'文件告訴你什麼? – RealSkeptic
您是否檢查過Java 7的'HashMap'文檔說明?:https://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html:**該類不保證地圖的順序;特別是,它不能保證順序會隨着時間的推移保持不變。**您必須使用保證順序的其他集合 - LinkedHashMap – krokodilko
使用TreeMap來代替javaDocs:基於紅黑樹的NavigableMap實現。該地圖根據其按鍵的自然順序或在地圖創建時提供的比較器進行排序,具體取決於使用哪個構造函數。 –