概括
1. 關係
2. 要點
-
Collection
-
List
- ArrayList: 底層數據結構是數組,查詢快,增刪慢;線程不安全,效率高;
- Vector: 底層數據結構是數組,查詢快,增刪慢;線程安全,效率低(幾乎不會使用);
- LinkedList: 底層數據結構是鏈表,查詢慢,增刪快;線程不安全,效率高;
-
Set
- HashSet:
- 不能保證元素順序,不可重複,不是線程安全,元素可以爲null;
- 底層其實是一個數組,爲了加快查詢速度。索引就是通過hash值轉換,即index=hash(hashCode);
- LinkedHashSet:不可重複,有序;
- TreeSet: 有序,不可重複,底層使用紅黑樹算法,擅長範圍查詢;
注:實現線程安全的方法:
Set set = Collections.synchronizedSet(setObj);
- HashSet:
-