這裏主要討論這三種:HashMap、LinkedHashMap、TreeMap
1. HashMap是常規的哈希表,查詢以及插入的性能最好,若是沒有特殊要求,應該使用這個
2. LinkedHashMap:這個類比較有意思,
它能夠指定遍歷的順序:
1) 元素添加的順序
2) 按最近最少使用的順序
這個類的實現上繼承了HashMap,只是比HashMap多維護了一個雙鏈表,所以,
它的查詢及插入性能稍差於HashMap。
可是它的遍歷性能要好於HashMap。
若是想要按照元素添加順序遍歷,那麼使用LinkedHashMap。
3. TreeMap,這個類的內部實現
相似於C++的std::map
TreeMap將元素存儲在一個紅黑樹中,存儲在它裏面的Key必須實現Comparable接口。
因爲使用了紅黑樹的緣由,存儲在它裏面的key是從小到大排好序的。
它的各項性能指標都要比HashMap差。
若是想要Map中的元素是有序的,那麼使用TreeMap。