1. 程式人生 > >Map集合資料存放問題

Map集合資料存放問題

1. HashMap的資料存放順序問題

錯誤情景:excel表格匯入,要求錯誤資訊定位到具體行列,用Map集合來存發生錯誤的行列資訊,結果頁面返回錯誤資訊提示:”第四行xx列錯誤,第三行xx列錯誤,第五行xx列錯誤“。

原因:Map的子類最常用的就是Hashmap,但放入的資料是無序的.

解決: 如果想要取出的資料與放入的資料順序相同,可以使用linkedhashmap

Map<String, String> map = new LinkedHashMap<String, String>();  

補充:java各個集合類特點:

Collection

       List 【允許元素重複,輸出順序與插入順序一致】

                  ArrayList 【隨機訪問元素效能優於LinkedList】

                  LinkedList【進行頻繁的增刪操作時效能優於ArrayList】

       Set【不允許元素重複】

                  HashSet【最快的獲取元素】

                  TreeSet【按照比較結果的升序儲存物件】

                  LinkedHashSet【按照新增的順序儲存物件】

Map【不允許鍵重複】

               HashMap【提供最快的查詢技術】

               TreeMap 【按照比較結果的升序儲存鍵】

               LinkedHashMap【按照插入順序儲存鍵】