java Map集合類

來源:互聯網
上載者:User

標籤:

---恢複內容開始---

Map提供了一個更通用的元素儲存方法,Map集合類用於儲存元素對(稱作“鍵”和“值”),其中每個鍵映射到一個值。

瞭解Map介面和方法

Map構建

Map更新方法:可以更改Map內容,

clear()從Map中刪除所有的映射

remove(Object key)從Map中刪除鍵和關聯的值

put(Object key,Object  value)將指定值與指定鍵相關聯

putAll(Map t)將指定Map中的所有映射複製到此Map

 

HashMap:

HashMap是基於雜湊表的Map介面的實現,以key-value的形式存在,在HashMap中,key-value總是會當做一個整體來處理,系統會根據hash演算法來計算key-value的位置

1.定義:

HashMap實現了Map介面,繼承AbstractMap,其中Map介面定義了鍵映射到值的規則,而AbstractMap類提供Map介面的骨幹實現

public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>,Cloneable,Serializable

2建構函式:

HashMap提供了三個建構函式:

HashMap():構造一個具有預設初始容量(16)和預設載入因子(0.75)的空HashMap

HashMap(int initialCapacity):構造一個帶指定初始容量和預設載入因子(0.75)的空HashMap

HashMap(int initialCapacity,float loadFactor):構造一個帶指定初始容量和載入因子的空HashMap

初始容量,載入因子,這兩個參數是影響HashMap效能的重要參數,其中容量表示雜湊表中桶的數量,初始容量是建立雜湊表時的容量,載入因子是雜湊表在其容量自動增加之前可以達到多滿的一種尺度,他衡量的是一個散列表的空間的使用程度,負載因子越大表示散列表的裝填程度越高,

3資料結構:

在java中最常用的兩種結構是數組和類比指標(引用),幾乎所有的資料結構都可以利用這兩種來組合實現,HashMap是一個“鏈表散列”,如下是他的資料結構

從可以看出HashMap底層實現的還是數組,只是數組的每一項都是一條鏈,其中參數initialCapacity就代表了該數組的長度4儲存實現: 4.HashMap
  在儲存索引值對的時候, 使用雜湊演算法對鍵對象去重複, 效率高, 沒有順序.
  當儲存一個索引值對的時候, 先調用鍵對象的hashCode()方法計算一個雜湊值, 在集合中尋找是否有雜湊值相同鍵對象.
   如果沒有雜湊值相同的鍵對象, 直接將索引值對存入.
   如果有雜湊值相同鍵對象, 則和雜湊值相同的鍵對象進行equals()比較.
    比較結果為false就存入索引值對.
    比較結果為true則用新的值覆蓋舊的值.

 

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.