Java HashMap

Yake1965 2022-01-07 20:12:05 阅读数:486

java hashmap

Java HashMap

模塊 java.base 軟件包 java.util
Class HashMap<K,​V>

java.lang.Object
java.util.AbstractMap<K,V>
java.util.HashMap<K,V>

參數類型

  • K - 此映射維護的密鑰類型
  • V - 映射值的類型

實現的所有接口
Serializable , Cloneable , Map<K,​V>

HashMap 是一個散列錶,它存儲的內容是鍵值對(key-value)映射。

HashMap 實現了 Map 接口,根據鍵的 HashCode 值存儲數據,具有很快的訪問速度,最多允許一條記錄的鍵為 null,不支持線程同步。

HashMap 是無序的,即不會記錄插入的順序。

HashMap 的 key 與 value 類型可以相同也可以不同,可以是字符串(String)類型的 key 和 value,也可以是整型(Integer)的 key 和字符串(String)類型的 value。

HashMap 中的元素實際上是對象,一些常見的基本類型可以使用它的包裝類。
在這裏插入圖片描述

構造方法

HashMap() 使用默認初始容量(16)和默認加載因子(0.75)構造一個空 HashMap 。
HashMap​(int initialCapacity) 使用指定的初始容量和默認加載因子(0.75)構造一個空 HashMap 。
HashMap​(int initialCapacity, float loadFactor) 使用指定的初始容量和加載因子構造一個空 HashMap 。
HashMap​(Map<? extends K,​? extends V> m) 構造一個新的 HashMap ,其映射與指定的 Map相同。
import java.util.HashMap; // 引入 HashMap 類
HashMap<Integer, String> Sites = new HashMap<Integer, String>();

常用方法

boolean isEmpty() 如果此映射不包含鍵 - 值映射,則返回 true 。
int size() 返回此映射中鍵 - 值映射的數量。
V put​(K key, V value) 將指定的值與此映射中的指定鍵相關聯。
void putAll​(Map<? extends K,​? extends V> m) 將指定映射中的所有映射複制到此映射。
V get​(Object key) 返回指定鍵映射到的值,如果此映射不包含鍵的映射,則返回 null 。
getOrDefault() 獲取指定 key 對應對 value,如果找不到 key ,則返回設置的默認值
void clear() 從此映射中删除所有映射。
V remove​(Object key) 從此映射中删除指定鍵的映射(如果存在)。
replace() 替換 hashMap 中是指定的 key 對應的 value。
replaceAll() 將 hashMap 中的所有映射關系替換成給定的函數所執行的結果。
boolean containsKey​(Object key) 如果此映射包含指定鍵的映射,則返回 true 。
boolean containsValue​(Object value) 如果此映射將一個或多個鍵映射到指定值,則返回 true 。
Set<Map.Entry<K,​V>> entrySet() 返回此映射中包含的映射的Set視圖。
Set<K> keySet() 返回此映射中包含的鍵的Set視圖。
values() 返回 hashMap 中存在的所有 value 值。
merge() 添加鍵值對到 hashMap 中
V compute​(K key, BiFunction<? super K,​? super V,​? extends V> remappingFunction) 嘗試計算指定鍵及其當前映射值的映射(如果沒有當前映射, null )。
V computeIfAbsent​(K key, Function<? super K,​? extends V> mappingFunction) 如果指定的鍵尚未與值關聯(或映射到 null ),則嘗試使用給定的映射函數計算其值並將其輸入此映射,除非 null 。
V computeIfPresent​(K key, BiFunction<? super K,​? super V,​? extends V> remappingFunction) 如果指定鍵的值存在且為非null,則嘗試在給定鍵及其當前映射值的情况下計算新映射。
Object clone() 返回此 HashMap 實例的淺錶副本:未克隆鍵和值本身。
V merge​(K key, V value, BiFunction<? super V,​? super V,​? extends V> remappingFunction)
如果指定的鍵尚未與值關聯或與null關聯,則將其與給定的非空值關聯。
Collection<V> values() 返回此映射中包含的值的Collection視圖。
版权声明:本文为[Yake1965]所创,转载请带上原文链接,感谢。 https://gsmany.com/2022/01/202201072012053025.html