1. 程式人生 > >JAVA-初步認識-常用對象API(集合框架-重點方法entryset演示圖解)

JAVA-初步認識-常用對象API(集合框架-重點方法entryset演示圖解)

http 我不 取出 映射 對應關系 比較 成員 所有 很多

一.

對於上一節的操作而言,這裏還有另外一種做法,相對而言,有一點麻煩。

從剛才的動作,總結出一個原理。map集合沒有叠代器,但是我們可以把map轉換成有叠代器的集合,比如說set。

這是為什麽呢?為什麽不返回arrylist,這是拿所有的鍵,鍵是唯一的,所以返回的應該是set集合,保證元素的唯一性。

接下來,在API當中,還有一個方法也是返回set集合,(這裏的set有什麽特殊含義麽?)

技術分享圖片

現在用它來完成取出所有元素的方式。keyset大家比較容易明白,裏面裝的都是鍵。但是,entryset是返回此映射所包含的映射關系的set視圖,映射關系是什麽意思呢?映射關系,代表這鍵和值之間的對應,這裏面存儲的是對應關系。map.entry是鍵值關系類型,一會兒解釋為什麽這麽寫。對應關系裏面包含鍵和值。

技術分享圖片

叠代器後面要有泛型(不太懂)。it.next返回的是結婚證,set中的泛型我不管,但是叠代器中的泛型和set中的要一致。

技術分享圖片

一現在有點糾結,有了結婚證,怎麽拿這裏面的鍵和值呢?結婚證裏面本身包含著鍵和值,由鍵和值組成。取結婚證裏的鍵和值,結婚證自己最清楚。

點擊一下map.entry<K,V>這個結婚證,方法摘要中顯示都能取的出來,而且還能設置。隨便可以改變某一個鍵的值。

技術分享圖片

技術分享圖片

技術分享圖片

結果顯示沒有問題,這是第二種取出方法。畫個圖解釋一下,

entrySet得到的結婚證什麽樣呢?它把鍵和值封裝成一個對象,這是一個元素,存了四個元素。這裏面的一個元素就是map,entry<key.value>對象。

技術分享圖片

很多人對map.entry<key,value>有點迷糊,對於下圖的寫法有點搞不清。

技術分享圖片

這種操作以前見過,

技術分享圖片

技術分享圖片

myentry是接口,隨著外部接口加載而加載。

先說map接口,然後往下看是嵌套類。嵌套類是內置類,是靜態的interface,

技術分享圖片

技術分享圖片

技術分享圖片

點進去看,是正在封閉接口map當中。你見過靜態註釋麽?只有成員才有,所以它是個成員。

為什麽要把它定義在裏面,放在外面不行麽?MyEntry是一個包含鍵和值的內容,它是鍵和值的映射關系對象,只有現有這種map映射,才存在著關系。而它把關系封裝成對象,關系在訪問map中的鍵和值。那就是外部規則中有內部規則,內部規則直接訪問外部規則中的內容。什麽點什麽,全部都是嵌套的。

內部類本身是種封裝形式,但是如果它能對外使用的話,就暴露出去。

接口中的靜態接口

JAVA-初步認識-常用對象API(集合框架-重點方法entryset演示圖解)