Java之Map的使用情境

來源:互聯網
上載者:User

標籤:remove   替換   Map集合   特點   不重複   entry   nbsp   linked   dHash   

總結之 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變的有序

Java之Map的使用情境

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.