Java學習:Java中的集合——Map

集合的前面幾章

把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):

添加元素。

Java學習:Java中的集合——Map

如果鍵是第一次存儲,就直接存儲元素,返回null,不是第一次存儲,就會用值把以前的值替換掉,返回以前的值~

刪除功能

V remove(Object key):

根據鍵刪除鍵值對元素,並把值返回

Java學習:Java中的集合——Map

void clear():

移除所有的鍵值對元素

Java學習:Java中的集合——Map

判斷功能

boolean containsKey(Object key):

判斷集合是否包含指定的鍵

boolean containsValue(Object value):

判斷集合是否包含指定的值

boolean isEmpty():

判斷集合是否為空

Java學習:Java中的集合——Map

獲取功能

Collection values():

獲取集合中所有值的集合

Java學習:Java中的集合——Map

長度功能

int size():

返回集合中的鍵值對的個數

Java學習:Java中的集合——Map

Map集合的遍歷(一)

鍵找值思路:

1)獲取所有鍵的集合;

2)遍歷鍵的集合,獲取到每一個鍵;

3)根據鍵找值。

代碼演示

Java學習:Java中的集合——Map

Java學習:Java中的集合——Map

Map集合的遍歷(二)

鍵值對對象找鍵和值思路:

1)獲取所有鍵值對對象的集合;

2)遍歷鍵值對對象的集合,獲取到每一個鍵值對對象;

3)根據鍵值對對象找鍵和值。

代碼演示

Map集合的遍歷之鍵值對對象找鍵和值

Java學習:Java中的集合——Map

LinkedHashMap的概述和使用

LinkedHashMap的特點

底層是鏈表實現的可以保證怎麼存就怎麼取

Java學習:Java中的集合——Map

TreeMap集合

其實TreeMap就和TreeSet很像,都自帶比較的功能~

代碼演示

實現 Comparable 接口,以年齡為主要比較條件重寫 compareTo() 方法

Java學習:Java中的集合——Map

Java學習:Java中的集合——Map

利用比較器來進行比較

Java學習:Java中的集合——Map

面試題

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接口具備比較性才可以排序

Java學習:Java中的集合——Map

public static int binarySearch(List> list,T key)

二分查找~如果存在返回元素的索引值,不存在就返回負的插入點-1

Java學習:Java中的集合——Map

public static T max(Collection> coll)

獲取最大值

public static T min(Collection> coll)

獲取最小值

Java學習:Java中的集合——Map

public static void reverse(List> list)

反轉

Java學習:Java中的集合——Map

public static void shuffle(List> list)

隨機置換——每次的結果都不一樣

Java學習:Java中的集合——Map

集合前面的內容我們鋪墊了很多

所以今天說的內容稍稍多一點兒

那麼夥伴們集合就到這了

加油~

Java學習:Java中的集合——Map

我是萌新娜娜

立志做一個不翻車的老司機

學習Java的路上請多多指教

大家如果想要更深入瞭解java相關知識,私信我回復:【Java】 即可知道你們想要知道的java相關問題


分享到:


相關文章: