List實現類
List接口特點:元素有序 可重復
Arraylist 可變數組
? ? ? ? jdk 8 以前Arraylist容量初始值10
? ? ? ? ?jdk8 之后初始值為0,添加數據時,容量為10;
? ? ? ? ArrayList與Vector的區別?
????????
LinkList:雙向鏈表
? ? ? ? ? ? ? ? 優點:不連續存儲,隨機添加和刪除操作方法
? ? ? ? ? ? ? ? 缺點:不連續存儲,遍歷速度慢
? ? ? ? 有鏈表頭和鏈表尾
? ? ? ? 新增針對鏈表頭和鏈表尾的操作方法
????????????????
Set集合及實現類
Set接口 extends Collection 特點:無序 唯一
HashSet
TreeSet
Map集合及實現類
Map集合? ?以key-value存儲數據
? ? ? ? key:無序唯一
? ? ? ? value:無序可重復
? ? ? ? key-value 映射關系唯一
? 1 添加方法
? ? ? ? ? ? ? ? ? ? V put(K key, V value) ? 將指定的值與此映射中的指定鍵關聯(可選操作)。
? ? ? ? ? ? 2 刪除
? ? ? ? ? ? ? ? ? ? ? void clear() ? ?從此映射中移除所有映射關系(可選操作)。
? ? ? ? ? ? ? ? ? ? ? ?V remove(Object key) ?如果存在一個鍵的映射關系,則將其從此映射中移除(可選操作)。
? ? ? ? ? ? ? ? ? ? ? ?boolean ?remove(Object key, Object value) : 僅當指定的密鑰當前映射到指定的值時刪除該條目。
? ? ? ? ? ?3 改
? ? ? ? ? ? ? ? ? ? ? ? V put(K key, V value) ? 將指定的值與此映射中的指定鍵關聯(可選操作)。
? ? ? ? ? ? ? ? ? ? ? ? V replace(K key, V value) ?只有當目標映射到某個值時,才能替換指定鍵的條目。
? ? ? ? ? ? ? ? ? ? ? ?boolean replace(K key, V oldValue, V newValue) ?僅當當前映射到指定的值時,才能替換指定鍵的條目。
? ? ? ? ? ? 4 查:
? ? ? ? ? ? ? ? ? ? boolean containsKey(Object key) ?如果此映射包含指定鍵的映射關系,則返回 true。
? ? ? ? ? ? ? ? ? ? ?boolean containsValue(Object value) ?如果此映射將一個或多個鍵映射到指定值,則返回 true。
? ? ? ? ? ? ? ? ? ? ?V get(Object key) ? 返回指定鍵所映射的值;如果此映射不包含該鍵的映射關系,則返回 null。
? ? ? ? ? ? ? ? ? ? ?V getOrDefault(Object key, V defaultValue) : ? ? 返回到指定鍵所映射的值,或 defaultValue如果此映射包含該鍵的映射。
? ? ? ? ? ? 5 遍歷方法
? ? ? ? ? ? ? ? ? ? ?Set<Map.Entry<K,V>> entrySet() ? 返回此映射中包含的映射關系的 Set 視圖。
? ? ? ? ? ? ? ? ? ? Set<K> keySet() : ?返回此映射中包含的鍵的 Set 視圖。
? ? ? ? ? ? ? ? ? ? ? Collection<V> values() 回此映射中包含的值的 Collection 視圖。
? ? ? ? ? ? ? ? ? ? ? forEach()
? ? ? ? ? ? ?6 其他方法
? ? ? ? ? ? ? ? ?boolean isEmpty() : 如果此映射未包含鍵-值映射關系,則返回 true。
? ? ? ? ? ? ? ? ? int size() ? 返回此映射中的鍵-值映射關系數。
HashMap
????????? ? ? ? ? ? ? ? ?HashMap的初始容量16 加載因子0.75擴容為2為2倍
?????????????????????????????????????? Hashtable初始容量11 加載因子0.75
擴容為2倍+1
? ? ? ? ? ? ? ? ? ? ? ? HashMap key,value可以為null
? ? ? ? ? ? ? ? ? ? ? ? HashTable key,value都不可以為null? ? ? ???????????????????????? ? ? ? ?
HashMap中的key如何去除重復項?
? ? ? ? ? ? ? ? 調用key的hashCode與equals方法
? ?TreeMap:二叉樹
? ? ? ? ? ? ? ? 左小,右大的方式存儲
? ? ? ? ? ? ? ? 讀取:按中序(左-中-右)
? ? ? ? ? ? ? ? key:通過比較規則,排序并去除重復
? ? ? ? ? ? ? ? 注意:key 必須為同一種數據類型的值。不能出現null值