Java核心API -- 8(Map集合)

 

1. Map集合

    Java.util.Map接口

        |--HashMap實現類

        |--TreeMap實現類


2. HashMap實現類

    Map接口定義的集合又稱爲查找表,用於存儲所謂“Key-Value”鍵值對。Key可以看成是Value的索引。而往往Key是Value的一部分內容。

     1)Key不可以重複,但所保存的Value可以重複。

     2)根據內部結構的不同,Map接口有多種實現類,其中常用的有內部爲hash表實現的HashMap和內部爲排序二叉樹實現的TreeMap。同樣這樣的數據結構在存放數據時,也不建議存放兩種以上的數據類型,所以,通常我們在使用Map時也要使用泛型約束存儲內容的類型。

     3)創建Map時使用泛型,這裏要約束兩個類型,一個是key的類型,一個是value的類型。

     4)基本原理圖:

        wKioL1WSP5HhDQcBAACLrOw-f-Y469.jpg

    5)HashMap集合中常用的方法:

        ① V put(K Key,V value):將元素以Key-Value的形式放入map。若重複保存相同的key時,實際的操作是替換Key所對應的value值。 

        ② V get(Object key):返回key所對應的value值。如果不存在則返回null。

        ③ boolean containsKey(Object Key):判斷集合中是否包含指定的Key。

        ④ boolean containsValue(Object value):判斷集合中是否包含指定的Value。

    6)若給定的key在map中不存在則返回null,所以,原則上在從map中獲取元素時要先判斷是否有該元素,之後再使用,避免空指針異常的出現。Map在獲取元素時非常有針對性,集合想獲取元素需要遍歷集合內容,而Map不需要,你只要給他特定的key就可以獲取該元素。


    案例12:

        wKioL1WSP7WR9Z0qAAJvHbCtQdE347.jpg


    案例13: 

        wKioL1WSP96yORQuAAHRdfGfa1M333.jpg

    結果:

        wKiom1WSPirBS9wuAAAzFg6B89A863.jpg


    7)遍歷HashMap方式一:獲取所有的key並根據key獲取value從而達到遍歷的效果(即迭代Key)。keySet()方法:是HashMap獲取所有key的方法,該方法可以獲取保存在map下所有的key並以Set集合的形式返回。


    案例14:

        wKioL1WSQAzBJMalAANZ-GXFOo0009.jpg

    結果:

        wKioL1WSQCGgszCGAAC4Sbjixl8564.jpg


    8)Entry類,遍歷HashMap方式二:以“鍵值對”的形式迭代。Map支持另一個方法entrySet():該方法返回一個Set集合,裏面的元素是map中的每一組鍵值對,Map以Entry類的實例來描述每一個鍵值對。其有兩個方法:getKey()獲取key值;getValue()獲取value值。Entry也需要泛型的約束,其約束的泛型應該和Map相同!Entry所在位置:java.util.Map.Entry。


    案例15:

        wKiom1WSPoiCAsITAAOugDQas6w163.jpg

    結果:

        wKiom1WSPp3igtsBAAC7w1bUQDE969.jpg


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章