天天看點

JAVA之旅(二十二)——Map概述,子類對象特點,共性方法,keySet,entrySet,Map小練習JAVA之旅(二十二)——Map概述,子類對象特點,共性方法,keySet,entrySet,Map小練習

繼續堅持下去吧,各位騷年們! 事實上,我們的資料結構,隻剩下這個Map的知識點了,平時開發中,也是能看到他的,是以還是非常值得去學習的一個知識點的,我們直接開車了
JAVA之旅(二十二)——Map概述,子類對象特點,共性方法,keySet,entrySet,Map小練習JAVA之旅(二十二)——Map概述,子類對象特點,共性方法,keySet,entrySet,Map小練習
泛型< k,v> 鍵值對,映射關系 基本特點

該集合存儲鍵值對,是一對一對往裡存,而且要保證鍵的唯一性

1.添加

put(key ,values)

putAll()

2.删除

clear()

remove(object key)

3.判斷

containsValue(Object value)

containsKey(Object key)

isEmpty()

4.擷取

get(Object key)

size()

values()

entrySet()

keySet()

我們的學習步驟也是這樣來的,
Map有三個子類

Hashtable

底層是哈希表資料結構,不可以存入null值或者鍵,該集合是線程同步的

JAVA之旅(二十二)——Map概述,子類對象特點,共性方法,keySet,entrySet,Map小練習JAVA之旅(二十二)——Map概述,子類對象特點,共性方法,keySet,entrySet,Map小練習

HashMap

底層是哈希表資料結構,允許使用null的鍵值對,線程是不同步的。效率高

JAVA之旅(二十二)——Map概述,子類對象特點,共性方法,keySet,entrySet,Map小練習JAVA之旅(二十二)——Map概述,子類對象特點,共性方法,keySet,entrySet,Map小練習

TreeMap

底層是二叉樹資料結構,線程不同步,可以用于給map集合中的鍵進行排序

Map和Set很像,其實Set底層就是使用了Map集合
我們看一下他們的共同點
這裡可以看到輸出的結果
JAVA之旅(二十二)——Map概述,子類對象特點,共性方法,keySet,entrySet,Map小練習JAVA之旅(二十二)——Map概述,子類對象特點,共性方法,keySet,entrySet,Map小練習
但是這裡要注意的是,添加元素,如果添加的時候,相同的鍵,那麼後面的,會被後添加的覆寫原有的鍵對應的值,并put方法會傳回被覆寫的值
想取出他的值,他并沒有疊代器,那我們的思路可以轉變一下拿到他的所有的鍵再去get不就可以拿到鍵值對了,我們來看一下

keySet

将map中所有的值存入到Set集合中,因為Set具備疊代器,所有可以疊代方法取出的所有的鍵,根據get方法,擷取每一個鍵對應的值

這種方法還是比較好了解的,對吧,但是這樣比較麻煩,我們來看另一種
定義泛型雖然比較麻煩,但是取出來還是比較簡單的,原理是什麼?其實我們可以寫一段僞代碼來說明的
父子接口,直接通路,内部規則
我們可以通過一個小練習來學習一下使用規則,而需求,我直接寫在注釋上
OK,例子就是用兩種取出的方式罷了,相信你自己也一定能做好的,好的,我們本節課到這裡也就結束了,下節再見