hashMap、hashTable、treeMap的區別


1、hashTable是線程安全的、hashMap不是線程安全的

hashmap

線程不安全

允許有null的鍵和值

效率高一點、

方法不是Synchronize的要提供外同步

有containsvalue和containsKey方法

HashMap 是Java1.2 引進的Map interface 的一個實現

HashMap是Hashtable的輕量級實現

hashtable

線程安全

不允許有null的鍵和值

效率稍低、

方法是是Synchronize的

有contains方法方法

、Hashtable 繼承於Dictionary 類

Hashtable 比HashMap 要舊

 2、HashMap通過hashcode對其內容進行快速查找,而 TreeMap中所有的元素都保持着某種固定的順序,如果你需要得到一個有序的結果你就應該使用TreeMap(HashMap中元素的排列順序是不固定的)。

  HashMap:適用於在Map中插入、刪除和定位元素。

  Treemap:適用於按自然順序或自定義順序遍歷鍵(key)。

  HashMap通常比TreeMap快一點(樹和哈希表的數據結構使然),建議多使用HashMap,在需要排序的Map時候才用TreeMap。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM