一、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。