javaAPI Map雙列集合)

2021-07-03 22:13:06 字數 2571 閱讀 1532

map集合成員方法

增加功能

v put(k key, v value)
返回的是被覆蓋的值當key在集合中不存在時,新增元素;當key在集合存在時候,替換元素

刪除功能

void clear

清除所有鍵值對資料

v remove(object key)

根據指定的鍵刪除鍵值對

判斷功能

boolean containskey(object key)

判斷指定的鍵是否在集合中存在

boolean containsvalue(object value)

判斷指定的值是否在集合中存在

boolean isempty

判斷集合是否為空

獲取功能

set

> entryset()

鍵值對物件的集合

object get(object key)

根據鍵獲取值

set keyset():

所有鍵的集合

collection values()

所有值的集合

長度 int size()

獲取長度

map集合的兩種遍歷方式

建立map集合

// 建立集合物件

map<

string, string

>

map=

new hashmap<

string, string

>();

// 建立並新增元素

map.put("楊過", "小龍女");

map.put("郭靖", "黃蓉");

map.put("梁山伯", "祝英台");

map.put("牛郎", "織女");

第一種遍歷方式(通過keyset())

set

keyset = map.keyset();

for(string key : keyset)

第二種遍歷方式(通過entryset())

set

> entryset = map.entryset();

for(map.entry

entry : entryset)

hashmap儲存自定義物件實現去重 (將自定義物件儲存到key的位置)

hashmap

自定義物件重寫hashcode()和equals()方法,並且使用hashmap

treemap

方案1:自定義物件實現comparable 介面,並且重寫compareto方法

方案2:建立treemap集合物件時通過treemap的構造方法傳入乙個comparator物件

treemap儲存自定義物件實現排序 (將自定義物件儲存到key的位置

方案1

自定義物件實現comparable 介面,並且重寫compareto方法

方案2

建立treemap集合物件時通過treemap的構造方法傳入乙個comparator物件

hashtable和hashmap區別

hashtable:

執行緒安全,效率低,不允許null鍵和值

hashmap:

執行緒不安全,效率高,允許null鍵和值

如果想執行緒安全,並且可以儲存null怎麼辦,使用concurrenthashmap

|–map(雙列 底層結構是針對鍵有效,跟值無關)

|–hashmap

底層資料結構是雜湊表。

執行緒不安全,效率高。允許null鍵和值

怎麼保證唯一性的呢?

它依賴兩個方法:hashcode()和equals()

順序:

首先判斷hashcode()值是否相同。

同:繼續走equals(),看返回值

如果true:就不新增到集合。

如果false:就新增到集合。

不同:就新增到集合。

|–hashtable

底層資料結構是雜湊表。

執行緒安全,效率低。不允許null鍵和值

怎麼保證唯一性的呢?

它依賴兩個方法:hashcode()和equals()

順序:

首先判斷hashcode()值是否相同。

同:繼續走equals(),看返回值

如果true:就不新增到集合。

如果false:就新增到集合。

不同:就新增到集合。

|–treemap

底層資料結構是二叉樹。

執行緒不安全,效率高。

怎麼保證唯一性的呢?是根據返回是否是0。

怎麼保證排序的呢?兩種方式

自然排序(元素具備比較性)

實現comparable介面

方法:compareto(obj)

比較器排序(集合具備比較性)

實現comparator介面

方法:compare(obj1,obj2)

Map集合 雙列集合

map集合 雙列集合 map集合是鍵值對集合。它的元素是由兩個值組成的,元素的格式是 key value.map集合形式 map集合系列 map 介面 hashmap 實現類 linkedhashmap 注意 map集合只支援引用資料型別的元素儲存。map集合特點 鍵是無序不重複的。重複的鍵,後面加...

集合專題 雙列集合Map

一 map集合的常用方法 增和改put,刪除remove 查詢get 01.獲取鍵集put k key,v value hashmap string,integer map new hashmap map.put 李晨 28 map.put 王寶強 27 map.put 宋哲 18 map.put ...

Java集合 雙列集合Map

map集合 前面我們提到過的collection集合以及他的子實現類,這些集合屬於單列集合,而在實際開發中,經常使用到的還有雙列集合map集合。在具體講雙列集合之前,再來回憶一下單列集合。在單列集合中,首先分為list和set兩個集合,而list集合又分為 arraylist,vector,和lin...