Java常用容器對比
阿新 • • 發佈:2018-12-09
ArrayList與Vector
ArrayList和Vector內部都是由陣列實現的,陣列實現的優點就是支援元素的隨機訪問(O(1)),但是在對元素進行插入和刪除操作時,需要向後或向前移動陣列,這樣導致插入和刪除的效率將會降低(O(n));
ArrayList的預設容量是10,擴容為原來的1.5倍;
Vector的預設容量也是10,可以在建立是指定容量。擴容為原來的2倍;
ArrayList與Vector最大的區別在於Vector是執行緒安全的,這也導致Vextor的效率要遠低於ArrayList;
ArrayList與LinkedList
LinkedList內部採用的是連結串列實現,所以相比於ArrayList,LinkedList在插入和刪除操作時速度很快
HashMap與HashTable
HashMap HashTable
執行緒安全 否 是
初始容量 16 11
效能 好 不好
擴容 2倍 2倍+1
空值 允許(null,null) 不允許null
HashSet
HashSet內部實現是HashMap,只不過value為null。