Map集合總結

2021-07-12 03:06:58 字數 1543 閱讀 1279

**map**

---2016/5/27 11:45:42 

public inte***ce map

map是乙個介面,用於儲存鍵值對物件的,key唯一,value不唯一,乙個key至少對應著乙個value

**map的常見方法**

新增: 

v put(k,v);//如果key值相同,則新存放的值會覆蓋舊的值,返回被覆蓋的舊值

void put(map)

刪除:v remove(key)//通過key刪除value,如果key對應的value不存在,返回null

void clear();//清除所有

判斷:boolean containskey(key)//是否包含key

boolean containsvalue(value)//是否包含value

isempty()

獲取:int size()

v get(key)//通過key獲取value,沒有返回null

setkeyset()

set> entryset()

collectionvalues()    

>     

>

>    

map下有幾個常用的子類

1. hashmap 內部資料結構是雜湊表,不同步,允許,如果鍵值對是自定義物件,那麼需要自定義物件重寫hashcode() 和 equals()

2. hashtable 內部資料結構是雜湊表,同步,jdk1.0,不允許,如果鍵值對是自定義物件,那麼需要自定義物件重寫hashcode() 和 equals()

3. treemap 內部資料結構是二叉樹,不同步,按照自然順序排序,如果鍵值對是自定義物件,那麼需要比較器,

a.自定義物件實現comparable介面,重寫compareto(方法)

class student implements comparable

b.自定乙個比較器實現comparator介面,重寫compare()

new treemap<>(new comparator()

});**map的遍歷輸出**

由於map沒有迭代器iterator,但是提供了2個方法keyset()和entryset(),得到了set,再通過set就可以得到iterator,

setkeyset() // 返回的是key的set集合,迭代器可以獲得key,通過get(key)就可以獲取value

setkeyset = map.keyset();

iteratoriterator = keyset.iterator();

while(iterator.hasnext())

set> entryset() //返回的是鍵值對關係的的set集合,再通過鍵值對關係的getkey()和getvalue()獲得key和value

set> entryset = map.entryset();

iterator> it = entryset.iterator();

while (it.hasnext())

`2016/5/27 12:33:27 

Map集合總結

map集合的特點 將鍵對映到值的物件,乙個對映不能包含重複的鍵 每個鍵最多只能對映到乙個值.map集合和collection集合的區別?map集合儲存元素是成對出現的,map集合的鍵是唯一的,值是可重複的,可以把這個理解為 夫妻對 collection集合儲存元素是單獨出現的,collection的...

集合總結 Map

map體系結構 與set的區別 set底層是使用了map集合 value為null值 所以hashmap和treemap底層可以看set 底層是多少 公共方法 新增 刪除 判斷 獲取 原理 類似hashset 允許存入null鍵null值 執行緒不同步 特點 其需要維護元素的插入順序,所以效能略低於...

Map集合遍歷總結

建立物件,新增資料 mapscores new hashmap 泛型,其中string用於限定key的資料型別,integer用於顯示value的資料型別 scores.put tom 100 scores.put lucy 80 新增資料,map集合key不允許重複,否則以最後乙個為主 score...