hashMap、hashTable、treeMap的區別

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

hashmap數據結構

線程不安全spa

容許有null的鍵和值線程

效率高一點、code

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

有containsvalue和containsKey方法繼承

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

HashMap是Hashtable的輕量級實現同步

hashtablehash

線程安全

不容許有null的鍵和值

效率稍低、

方法是是Synchronize的

有contains方法方法

、Hashtable 繼承於Dictionary 類

Hashtable 比HashMap 要舊

 二、HashMap經過hashcode對其內容進行快速查找,而 TreeMap中全部的元素都保持着某種固定的順序,若是你須要獲得一個有序的結果你就應該使用TreeMap(HashMap中元素的排列順序是不固定的)。

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

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

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

相關文章
相關標籤/搜索