集合的前面幾章
把Collection系的說完了
今天我們來聊聊Map系的
Map集合
Map接口概述
查看API可以瞭解到:
Map是將鍵映射到值的對象,一個映射不能包含重複的鍵每個鍵最多隻能映射到一個值。(悄悄的說一句,其實Map的結構和Set蠻像的呦~)
Map接口和Collection接口的不同點:
1)Map是雙列的,Collection是單列的
2)Map的鍵唯一,Collection的子體系Set是唯一的
3)Map集合的數據結構值針對鍵有效,跟值無關;Collection集合的數據結構是針對元素有效
Map集合的功能
添加功能
V put(K key,V value):
添加元素。
如果鍵是第一次存儲,就直接存儲元素,返回null,不是第一次存儲,就會用值把以前的值替換掉,返回以前的值~
刪除功能
V remove(Object key):
根據鍵刪除鍵值對元素,並把值返回
void clear():
移除所有的鍵值對元素
判斷功能
boolean containsKey(Object key):
判斷集合是否包含指定的鍵
boolean containsValue(Object value):
判斷集合是否包含指定的值
boolean isEmpty():
判斷集合是否為空
獲取功能
Collection values():
獲取集合中所有值的集合
長度功能
int size():
返回集合中的鍵值對的個數
Map集合的遍歷(一)
鍵找值思路:
1)獲取所有鍵的集合;
2)遍歷鍵的集合,獲取到每一個鍵;
3)根據鍵找值。
Map集合的遍歷(二)
鍵值對對象找鍵和值思路:
1)獲取所有鍵值對對象的集合;
2)遍歷鍵值對對象的集合,獲取到每一個鍵值對對象;
3)根據鍵值對對象找鍵和值。
代碼演示
Map集合的遍歷之鍵值對對象找鍵和值
LinkedHashMap的概述和使用
LinkedHashMap的特點
底層是鏈表實現的可以保證怎麼存就怎麼取
TreeMap集合
其實TreeMap就和TreeSet很像,都自帶比較的功能~
實現 Comparable 接口,以年齡為主要比較條件重寫 compareTo() 方法
利用比較器來進行比較
面試題
HashMap Hashtable的區別
Hashtable是JDK1.0版本出現的,是線程安全的,效率低,HashMap是JDK1.2版本出現的,是線程不安全的,效率高
Hashtable不可以存儲null鍵和null值,HashMap可以存儲null鍵和null值
Collections工具類
Collections類是針對集合操作的工具類
Collections成員方法
Collections的成員方法有很多,我們挑選了幾個比較重要的方法來說一下哈~
public static void sort(List list)
給 list 集合排序,前提是集合中的元素實現Comparable接口具備比較性才可以排序
public static int binarySearch(List> list,T key)
二分查找~如果存在返回元素的索引值,不存在就返回負的插入點-1
public static T max(Collection> coll)
獲取最大值
public static T min(Collection> coll)
獲取最小值
public static void reverse(List> list)
反轉
public static void shuffle(List> list)
隨機置換——每次的結果都不一樣
集合前面的內容我們鋪墊了很多
所以今天說的內容稍稍多一點兒
那麼夥伴們集合就到這了
加油~
我是萌新娜娜
立志做一個不翻車的老司機
學習Java的路上請多多指教
大家如果想要更深入瞭解java相關知識,私信我回復:【Java】 即可知道你們想要知道的java相關問題