集合 關於Map

2021-07-05 23:59:19 字數 1874 閱讀 1715

map集合是雙列集合的頂層介面,下面分為treemap和hashmap.

那麼我們先來看一下map和collection的區別:

1.map是雙列的,而collection是單列的

2.map的鍵都是唯一的,而collection中只有set集合的值是唯一的

3.map集合的資料結構值針對鍵有效,跟值無關;collection集合的資料結構是針對元素有效

(一)map集合共性方法的使用.

1):新增功能

v put(k key,v value):新增元素。

如果該鍵是第一次儲存的,就直接儲存元素,返回null

如果該鍵不是第一次儲存,也就是說,前面有相同的鍵,那麼就用該鍵把以前的鍵替換掉,返回以前的值(記住是返回以前的鍵)

2):刪除功能

void clear():移除所有的鍵值對元素

v remove(object key):根據鍵刪除鍵值對元素,並把值返回

3):判斷功能

boolean containskey(object key):判斷該集合是否包含指定的鍵

boolean containsvalue(object value):判斷該集合是否包含指定的值

boolean isempty():判斷集合是否為空

4):獲取功能

set> entryset():

v get(object key):根據鍵獲取值

setkeyset():獲取集合中所有鍵的集合

集合.get(object key):獲取集合中所有值的集合

5):長度功能

int size():返回集合中的鍵值對的個數

(二)map集合的遍歷

在這裡要說明一下,map集合的遍歷和collection的遍歷是不一樣的,因為map集合是以鍵值對的形式存在的,下面來介紹兩種遍歷map集合的方法.

1).根據鍵獲取值   

public static void main(string args) 

}

這種方式沒什麼難度,就是先定義泛型,然後根據keyset方法獲取鍵,遍歷集合,通過get(key)獲取到值

2).根據鍵值對分別獲取到鍵和值

set> entry = tm.entryset();

//開始遍歷這個集合獲取到鍵值對

for(map.entryen : entry) {

//分別獲取到鍵和值

string key = en.getkey();

integer value = en.getvalue();

//輸出

system.out.println(key + "..." + value);

這種方法其實也並不難,就是多了乙個步驟,那就是用entryset()方法獲取到集合的鍵值對,遍歷集合,再分別用getkey(),和getvalue()方法獲取到鍵和值.

(三)map集合的常見兩個實現類.

我在這裡就只提hashmap和treemap這兩個集合,treelist和hashlist儲存元素或者物件的時候需要注意哪些問題.

1,hashmap集合

hashmap鍵的位置儲存自定義元素,想要保證鍵唯一,就要依賴元素所屬類的hashcode() 和 equals()方法.

2,treemap集合

treemap集合鍵儲存自定義物件,保證鍵唯一且實現排序:

自然順序(存入的物件的類需要實現comparable介面)

比較器順序(自定義比較器即可)

3,hashmap和hashtable的區別

hashmap允許使用 null 值和 null 鍵。執行緒不同步,效率低。

hashtable不允許使用 null 值和 null 鍵。執行緒同步,效率高。

關於集合Map

1.map的資料結構 首先要知道map的乙個資料結構,在jdk1.7以前,map的資料結構是陣列 鍊錶但在jdk1.8,map的資料結構就變成了陣列 鍊錶 紅黑樹,本身是陣列,但由於hash演算法有hash衝突 hash演算法會返回乙個int型的資料,當返回的資料相同時,就叫hash衝突 所以加入了...

關於Map集合的運用

在學map的時候,肯定是懵逼的,所以要先進行了解map的定義,然後看看map的應用 接下來我們先了解下map 初識map map集合中存放的都是一組組對映關係 key value 在集合中允許巢狀,key不能重複 注意 在map中增加不同於其他的集合,其他的集合用add 來增加,而map是用put ...

集合框架 Map集合

map集合 同collection,是集合框架中的頂層介面。一次新增一對元素,collection一次新增乙個元素。所有,map集合也稱為雙列集合,collection集合稱為單列集合。介面map key是鍵,value是值,其實map集合中儲存的就是鍵值對,map集合中必須保證鍵的唯一性。常用方法...