1. 程式人生 > >HashTable HashMap TreeMap 本質區別與使用區別 個人解析

HashTable HashMap TreeMap 本質區別與使用區別 個人解析

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