Map集合資料存放問題
阿新 • • 發佈:2019-02-16
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【按照插入順序儲存鍵】