HashTable HashMap TreeMap 本質區別與使用區別 個人解析
阿新 • • 發佈:2019-02-01
HashTable HashMap TreeMap 本質區別
1. hashTable 執行緒安全 不允許有null的鍵和值 效率低 方法是Synchronized的
HashTable 陣列預設大小是11 增加方式為 old*2+1
HashTable 使用Enumeration(列舉)方式實現
2. HashMap 執行緒不安全 允許有null的鍵和值 效率高一點 方法不是Synchronize要提供的同步
HashMap 陣列預設大小是16 增長方式是2的指數倍
HashMap 使用Interator(迭代方式)呼叫
3. TreeMap 能夠儲存記錄 按照鍵排序 預設升序排序
HashTable HashMap TreeMap 使用區別
1. HashMap 的元素排序方式不固定 (通過hashcode對其內容進行快速查詢)
TreeMap 的元素都保持固定排序模式
2. HashMap 適用於 在Map中插入 刪除 定位元素
TreeMap 適用於按照自然順序或自定義排序遍歷鍵key
分析: 一般情況 HashMap比TreeMap 快一些 若需要排序的Map 才使用TreeMap