集合框架原始碼分析(jdK1.7)(十) 集合框架對比總結
阿新 • • 發佈:2019-02-15
oracle java tutorial官方文件
1.核心集合介面層次關係
同類對比
Map系列
名稱 | 特點 | 資料結構 | 初始容量(預設) | 擴容方式 |
HashMap | 鍵值對,存Null值 | 散列表 | 16 | 容量使用75%(負載因子) 擴大1倍 |
HashTable | 1.所有方法有sychronized修飾,執行緒安全 2.鍵值對,不可存放null值 | 散列表 | 11 | 容量使用75%(負載因子) 擴大1倍 |
TreeMap | 鍵值對,不可存放null值 | 紅黑樹(平衡二叉樹) | 無 | 無 |
LIst系列
名稱 | 特點 | 資料結構 | 初始容量(預設) | 擴容方式 |
ArrayList | 查詢速度快 | 陣列 | 10 | 每次新增都會檢查容量,容量不足擴大50% |
LinkList | 插入刪除速度快 | 雙向連結串列 | 無 | 無 |
Vector | 所有方法有sychronized修飾,執行緒安全(不考率執行緒安全不可建議使用,存在開銷) | 陣列 | 10 | 擴大原來的1倍 |
Set
名稱 | 特點 | 資料結構 | 初始容量(預設) | 擴容方式 |
HashSet | 無重複結果且結果無需 | 散列表(HashMap<E,Object>) | 16 | 容量使用75%(負載因子) 擴大1倍 |
TreeSet | 無重複結果且結果有序 | 紅黑樹 (NavigableMap<E,Object>) | 無 | 無 |