Java之Map的使用場景


總結之 Map接口 的使用場景(day04)

  Map:
    Map中的集合,元素是成對存在的(理解為夫妻)。每個元素由鍵與值兩部分組成,通過鍵可以找對所對應的值
    Map中的集合不能包含重復的鍵,值可以重復;每個鍵只能對應一個值。

    特點:
      鍵不重復,值可以重復
      每個鍵只能對應一個值

    子類:
      HashMap:
        存儲數據采用的哈希表結構,元素的存取順序不能保證一致。由於要保證鍵的唯一、不重復,
        需要重寫鍵的hashCode()方法、equals()方法。
      LinkedHashMap
        HashMap下有個子類LinkedHashMap,存儲數據采用的哈希表結構+鏈表結構。
        通過鏈表結構可以保證元素的存取順序一致;
        通過哈希表結構可以保證的鍵的唯一、不重復,需要重寫鍵的hashCode()方法、equals()方法。

    常用方法:
      - public V put(K key, V value): 把指定的鍵與指定的值添加到Map集合中。
      - public V remove(Object key): 把指定的鍵 所對應的鍵值對元素 在Map集合中刪除,返回被刪除元素的值。
      - public V get(Object key) 根據指定的鍵,在Map集合中獲取對應的值。
      - public Set<K> keySet(): 獲取Map集合中所有的鍵,存儲到Set集合中。
      - public Set<Map.Entry<K,V>> entrySet(): 獲取到Map集合中所有的鍵值對對象的集合(Set集合)。

    notes:
      使用put方法時,若指定的鍵(key)在集合中沒有,則沒有這個鍵對應的值,返回null,
      並把指定的鍵值添加到集合中;

      若指定的鍵(key)在集合中存在,則返回值為集合中鍵對應的值(該值為替換前的值),
      並把指定鍵所對應的值,替換成指定的新值。

    遍歷方法:
      the fist way
        鍵找值方式:即通過元素中的鍵,獲取鍵所對應的值
        分析步驟:用keyset()
        ①獲取Map集合中所有的鍵,由於鍵是唯一的,所以返回一個Set集合存儲所有鍵,
        ②遍歷所有的鍵
        ③根據鍵找對應的值

      the scecond way
        Entry表示了一對鍵和值,那么也同樣提供了獲取對應鍵和對應值得方法
        - public K getKey():獲取Entry對象中的鍵。
        - public V getValue():獲取Entry對象中的值。
        在Map集合中也提供了獲取所有Entry對象的方法:

        - public Set<Map.Entry<K,V>> entrySet(): 獲取到Map集合中所有的鍵值對對象的集合(Set集合)。

        ①獲取Map集合中,所有的鍵值對 Entry對象 以Set的形式返回,entrySet()
        ②遍歷包含鍵值對 對象的 集合 拿到 每一對鍵值對 對象
        ③通過鍵值對 對象 獲取Entry對象中的鍵與值 方法提示 getKey() getValue()


    1.HashMap
      ①HashMap存儲自定義類型鍵值
        - 當給HashMap中存放自定義對象時,如果自定義對象作為key存在,這時要保證對象唯一,
        必須復寫對象的hashCode和equals方法(如果忘記,請回顧HashSet存放自定義對象)。
        - 如果要保證map中存放的key和取出的順序一致,可以使用java.util.LinkedHashMap集合來存放。
      2LinkedHashMap
      ① 使無序的 HashMap變的有序


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM