W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
java.lang.Object
|---java.util.AbstractMap<K,V&
|---|---java.util.HashMap<K,V&
public class HashMap<K,V>
extends AbstractMap<K,V>
implements Map<K,V>, Cloneable, Serializable
Map 接口的基于哈希表的實(shí)現(xiàn)。 此實(shí)現(xiàn)提供所有可選的映射操作,并允許空值和空鍵。 (HashMap 類大致相當(dāng)于 Hashtable,除了它是不同步的并且允許空值。)這個(gè)類不保證映射的順序; 特別是,它不保證訂單會(huì)隨著時(shí)間的推移保持不變。
此實(shí)現(xiàn)為基本操作(get 和 put)提供恒定時(shí)間性能,假設(shè)哈希函數(shù)將元素正確地分散在桶中。 集合視圖的迭代需要的時(shí)間與 HashMap 實(shí)例的“容量”(桶的數(shù)量)加上它的大小(鍵值映射的數(shù)量)成正比。 因此,如果迭代性能很重要,則不要將初始容量設(shè)置得太高(或負(fù)載因子太低),這一點(diǎn)非常重要。
HashMap 的實(shí)例有兩個(gè)影響其性能的參數(shù):初始容量和負(fù)載因子。 容量是哈希表中的桶數(shù),初始容量只是哈希表創(chuàng)建時(shí)的容量。 負(fù)載因子是哈希表在其容量自動(dòng)增加之前允許達(dá)到的程度的度量。 當(dāng)哈希表中的條目數(shù)超過負(fù)載因子和當(dāng)前容量的乘積時(shí),對(duì)哈希表進(jìn)行重新哈希(即重建內(nèi)部數(shù)據(jù)結(jié)構(gòu)),使哈希表具有大約兩倍的桶數(shù)。
作為一般規(guī)則,默認(rèn)負(fù)載因子 (.75) 在時(shí)間和空間成本之間提供了良好的折衷。 較高的值會(huì)減少空間開銷,但會(huì)增加查找成本(反映在 HashMap 類的大多數(shù)操作中,包括 get 和 put)。 在設(shè)置其初始容量時(shí),應(yīng)考慮映射中的預(yù)期條目數(shù)及其負(fù)載因子,以盡量減少重新哈希操作的次數(shù)。 如果初始容量大于最大條目數(shù)除以負(fù)載因子,則不會(huì)發(fā)生重新哈希操作。
如果要在 HashMap 實(shí)例中存儲(chǔ)許多映射,則創(chuàng)建具有足夠大容量的映射將比讓它根據(jù)需要執(zhí)行自動(dòng)重新散列以增長表來更有效地存儲(chǔ)映射。 請(qǐng)注意,使用具有相同 hashCode() 的多個(gè)鍵是降低任何哈希表性能的可靠方法。 為了改善影響,當(dāng)鍵是 Comparable 時(shí),此類可以使用鍵之間的比較順序來幫助打破平局。
請(qǐng)注意,此實(shí)現(xiàn)不同步。 如果多個(gè)線程同時(shí)訪問一個(gè)哈希映射,并且至少有一個(gè)線程在結(jié)構(gòu)上修改了映射,則必須在外部進(jìn)行同步。 (結(jié)構(gòu)修改是添加或刪除一個(gè)或多個(gè)映射的任何操作;僅更改與實(shí)例已包含的鍵關(guān)聯(lián)的值不是結(jié)構(gòu)修改。)這通常通過在自然封裝映射的某個(gè)對(duì)象上同步來完成 . 如果不存在這樣的對(duì)象,則應(yīng)使用 Collections#synchronizedMap 方法“包裝”地圖。 這最好在創(chuàng)建時(shí)完成,以防止對(duì)地圖的意外不同步訪問:
Map m = Collections.synchronizedMap(new HashMap(...));
所有此類的“集合視圖方法”返回的迭代器都是快速失敗的:如果在創(chuàng)建迭代器后的任何時(shí)間對(duì)映射進(jìn)行結(jié)構(gòu)修改,除了通過迭代器自己的 remove 方法之外,迭代器將拋出 ConcurrentModificationException . 因此,面對(duì)并發(fā)修改,迭代器快速而干凈地失敗,而不是在未來不確定的時(shí)間冒任意的、非確定性的行為。
請(qǐng)注意,不能保證迭代器的快速失敗行為,因?yàn)橐话銇碚f,在存在不同步的并發(fā)修改的情況下,不可能做出任何硬保證。 快速失敗的迭代器會(huì)盡最大努力拋出 ConcurrentModificationException。 因此,編寫一個(gè)依賴于這個(gè)異常的正確性的程序是錯(cuò)誤的:迭代器的快速失敗行為應(yīng)該只用于檢測錯(cuò)誤。
此類是 Java 集合框架的成員。
從類 java.util.AbstractMap 繼承的嵌套類/接口 |
---|
AbstractMap.SimpleEntryK,V, AbstractMap.SimpleImmutableEntryK,V |
從接口 java.util.Map 繼承的嵌套類/接口 |
---|
Map.EntryK,V |
構(gòu)造函數(shù) | 描述 |
---|---|
HashMap() | 構(gòu)造一個(gè)具有默認(rèn)初始容量 (16) 和默認(rèn)加載因子 (0.75) 的空 HashMap。 |
HashMap(int initialCapacity) | 構(gòu)造一個(gè)具有指定初始容量和默認(rèn)加載因子 (0.75) 的空 HashMap。 |
HashMap(int initialCapacity, float loadFactor) | 構(gòu)造一個(gè)具有指定初始容量和負(fù)載因子的空 HashMap。 |
HashMap(Map<? extends K,? extends V> m) | 構(gòu)造一個(gè)與指定 Map 具有相同映射的新 HashMap。 |
修飾符和類型 | 方法 | 描述 |
---|---|---|
void | clear() | 從此 map 中刪除所有映射。 |
Object | clone() | 返回此 HashMap 實(shí)例的淺表副本:鍵和值本身沒有被克隆。 |
V | compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction) | 嘗試計(jì)算指定鍵及其當(dāng)前映射值的映射(如果沒有當(dāng)前映射,則為 null)。 |
V | computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction) | 如果指定的鍵尚未與值關(guān)聯(lián)(或映射為 null),則嘗試使用給定的映射函數(shù)計(jì)算其值并將其輸入到此映射中,除非為 null。 |
V | computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction) | 如果指定鍵的值存在且非空,則嘗試在給定鍵及其當(dāng)前映射值的情況下計(jì)算新映射。 |
boolean | containsKey(Object key) | 如果此映射包含指定鍵的映射,則返回 true。 |
boolean | containsValue(Object value) | 如果此映射將一個(gè)或多個(gè)鍵映射到指定值,則返回 true。 |
SetMap.EntryK,V | entrySet() | 返回此映射中包含的映射的 Set 視圖。 |
void | forEach(BiConsumer<? super K,? super V> action) | 對(duì)該映射中的每個(gè)條目執(zhí)行給定的操作,直到處理完所有條目或該操作引發(fā)異常。 |
V | get(Object key) | 返回指定鍵映射到的值,如果此映射不包含該鍵的映射,則返回 null。 |
V | getOrDefault(Object key, V defaultValue) | 返回指定鍵映射到的值,如果此映射不包含該鍵的映射,則返回 defaultValue。 |
boolean | isEmpty() | 如果此映射不包含鍵值映射,則返回 true。 |
SetK | keySet() | 返回此映射中包含的鍵的 Set 視圖。 |
V | merge(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction) | 如果指定的鍵尚未與值關(guān)聯(lián)或與 null 關(guān)聯(lián),則將其與給定的非 null 值關(guān)聯(lián)。 |
V | put(K key, V value) | 將指定的值與此映射中的指定鍵相關(guān)聯(lián)。 |
void | putAll(Map<? extends K,? extends V> m) | 將所有映射從指定映射復(fù)制到此映射。 |
V | putIfAbsent(K key, V value) | 如果指定的鍵尚未與值關(guān)聯(lián)(或映射到 null),則將其與給定值關(guān)聯(lián)并返回 null,否則返回當(dāng)前值。 |
V | remove(Object key) | 如果存在,則從此映射中刪除指定鍵的映射。 |
boolean | remove(Object key, Object value) | 僅當(dāng)當(dāng)前映射到指定值時(shí),才刪除指定鍵的條目。 |
V | replace(K key, V value) | 僅當(dāng)當(dāng)前映射到某個(gè)值時(shí)才替換指定鍵的條目。 |
boolean | replace(K key, V oldValue, V newValue) | 僅當(dāng)當(dāng)前映射到指定值時(shí)才替換指定鍵的條目。 |
void | replaceAll(BiFunction<? super K,? super V,? extends V> function) | 將每個(gè)條目的值替換為對(duì)該條目調(diào)用給定函數(shù)的結(jié)果,直到所有條目都已處理或該函數(shù)引發(fā)異常。 |
int | size() | 返回此映射中鍵值映射的數(shù)量。 |
CollectionV | values() | 返回此映射中包含的值的集合視圖。 |
從類 java.util.AbstractMap 繼承的方法 |
---|
equals, hashCode, toString |
從接口 java.util.Map 繼承的方法 |
---|
equals, hashCode |
從類 java.lang.Object 繼承的方法 |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
public HashMap(int initialCapacity, float loadFactor)
構(gòu)造一個(gè)具有指定初始容量和負(fù)載因子的空 HashMap。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
initialCapacity | 初始容量 |
loadFactor | 負(fù)載系數(shù) |
Throws:
Throw名稱 | Throw描述 |
---|---|
IllegalArgumentException | 如果初始容量為負(fù)或負(fù)載因子為非正 |
public HashMap(int initialCapacity)
構(gòu)造一個(gè)具有指定初始容量和默認(rèn)加載因子 (0.75) 的空 HashMap。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
initialCapacity | 初始容量。 |
Throws:
Throw名稱 | Throw描述 |
---|---|
IllegalArgumentException | 如果初始容量為負(fù)。 |
public HashMap()
構(gòu)造一個(gè)具有默認(rèn)初始容量 (16) 和默認(rèn)加載因子 (0.75) 的空 HashMap。
public HashMap(Map<? extends K,? extends V> m)
構(gòu)造一個(gè)與指定 Map 具有相同映射的新 HashMap。 HashMap 是使用默認(rèn)加載因子 (0.75) 和足以容納指定 Map 中的映射的初始容量創(chuàng)建的。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
m | 其映射將放置在此 map 中的 map |
Throws:
Throw名稱 | Throw描述 |
---|---|
NullPointerException | 如果指定的 map 為空 |
public int size()
返回此映射中鍵值映射的數(shù)量。
指定者:
接口 MapK,V 中的大小
覆蓋:
AbstractMapK,V 類中的大小
返回:
此映射中的鍵值映射的數(shù)量
public boolean isEmpty()
如果此映射不包含鍵值映射,則返回 true。
指定者:
接口 MapK,V 中的 isEmpty
覆蓋:
AbstractMapK,V 類中的 isEmpty
返回:
如果此映射不包含鍵值映射,則為 true
public V get(Object key)
返回指定鍵映射到的值,如果此映射不包含該鍵的映射,則返回 null。
更正式地說,如果此映射包含從鍵 k 到值 v 的映射,使得 (key==null ? k==null : key.equals(k)),則此方法返回 v; 否則返回null。 (最多可以有一個(gè)這樣的映射。)
返回值為 null 并不一定表示該映射不包含該鍵的映射; 映射也可能將鍵顯式映射為空。 containsKey 操作可用于區(qū)分這兩種情況。
指定者:
進(jìn)入接口 MapK,V
覆蓋:
進(jìn)入類 AbstractMapK,V
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 要返回其關(guān)聯(lián)值的鍵 |
返回:
指定鍵映射到的值,如果此映射不包含該鍵的映射,則為 null
public boolean containsKey(Object key)
如果此映射包含指定鍵的映射,則返回 true。
指定者:
containsKey 在接口 MapK,V
覆蓋:
類 AbstractMapK,V 中的 containsKey
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 要測試在此映射中是否存在的鍵 |
返回:
如果此映射包含指定鍵的映射,則為 true。
public V put(K key, V value)
將指定的值與此映射中的指定鍵相關(guān)聯(lián)。 如果映射先前包含鍵的映射,則替換舊值。
指定者:
放入接口 MapK,V
覆蓋:
放入類 AbstractMapK,V
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 與指定值關(guān)聯(lián)的鍵 |
value | 與指定鍵關(guān)聯(lián)的值 |
返回:
與 key 關(guān)聯(lián)的前一個(gè)值,如果沒有 key 映射,則返回 null。 (返回 null 還可以指示映射先前將 null 與 key 關(guān)聯(lián)。)
public void putAll(Map<? extends K,? extends V> m)
將所有映射從指定映射復(fù)制到此映射。 這些映射將替換此映射對(duì)當(dāng)前指定映射中的任何鍵的任何映射。
指定者:
putAll在接口MapK,V中
覆蓋:
putAll 在類 AbstractMapK,V
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
m | 要存儲(chǔ)在此 map 中的映射 |
Throws:
Throw名稱 | Throw描述 |
---|---|
NullPointerException | 如果指定的 map 為空 |
public V remove(Object key)
如果存在,則從此映射中刪除指定鍵的映射。
指定者:
在接口 MapK,V 中移除
覆蓋:
在類 AbstractMapK,V 中刪除
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 要從映射中刪除其映射的鍵 |
返回:
與 key 關(guān)聯(lián)的前一個(gè)值,如果沒有 key 映射,則返回 null。 (返回 null 還可以指示映射先前將 null 與 key 關(guān)聯(lián)。)
public void clear()
從此 map 中刪除所有映射。 此調(diào)用返回后,map 將為空。
指定者:
在界面 MapK,V 中清除
覆蓋:
在類 AbstractMapK,V 中清除
public boolean containsValue(Object value)
如果此映射將一個(gè)或多個(gè)鍵映射到指定值,則返回 true。
指定者:
接口 MapK,V 中的 containsValue
覆蓋:
類 AbstractMapK,V 中的 containsValue
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
value | 要測試其在此映射中的存在的值 |
返回:
如果此映射將一個(gè)或多個(gè)鍵映射到指定值,則為 true
public SetK keySet()
返回此映射中包含的鍵的 Set 視圖。 集合由 map 支持,因此對(duì)地圖的更改會(huì)反映在集合中,反之亦然。 如果在對(duì)集合進(jìn)行迭代時(shí)修改了映射(通過迭代器自己的刪除操作除外),則迭代的結(jié)果是不確定的。 該集合支持元素移除,即通過 Iterator.remove、Set.remove、removeAll、retainAll 和 clear 操作從映射中移除相應(yīng)的映射。 它不支持 add 或 addAll 操作。
指定者:
接口 MapK,V 中的 keySet
覆蓋:
AbstractMapK,V 類中的 keySet
返回:
此 map 中包含的鍵的集合視圖
public CollectionV values()
返回此映射中包含的值的集合視圖。 集合由 map 支持,因此對(duì)地圖的更改會(huì)反映在集合中,反之亦然。 如果在對(duì)集合進(jìn)行迭代時(shí)修改了映射(通過迭代器自己的刪除操作除外),則迭代的結(jié)果是不確定的。 該集合支持元素移除,即通過 Iterator.remove、Collection.remove、removeAll、retainAll 和 clear 操作從映射中移除相應(yīng)的映射。 它不支持 add 或 addAll 操作。
指定者:
接口 MapK,V 中的值
覆蓋:
AbstractMapK,V 類中的值
返回:
此 map 中包含的值的視圖
public SetMap.EntryK,V entrySet()
返回此映射中包含的映射的 Set 視圖。 集合由 map 支持,因此對(duì)地圖的更改會(huì)反映在集合中,反之亦然。 如果在對(duì)集合進(jìn)行迭代時(shí)修改了映射(通過迭代器自己的刪除操作或通過迭代器返回的映射條目上的 setValue 操作除外),則迭代的結(jié)果是未定義的。 該集合支持元素移除,即通過 Iterator.remove、Set.remove、removeAll、retainAll 和 clear 操作從映射中移除相應(yīng)的映射。 它不支持 add 或 addAll 操作。
指定者:
接口 MapK,V 中的 entrySet
指定者:
AbstractMapK,V 類中的 entrySet
返回:
此 map 中包含的映射的集合視圖
public V getOrDefault(Object key, V defaultValue)
從接口復(fù)制的描述:map
返回指定鍵映射到的值,如果此映射不包含該鍵的映射,則返回 defaultValue。
指定者:
接口 MapK,V 中的 getOrDefault
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 要返回其關(guān)聯(lián)值的鍵 |
defaultValue | 鍵的默認(rèn)映射 |
返回:
指定鍵映射到的值,如果此映射不包含該鍵的映射,則為 defaultValue
public V putIfAbsent(K key, V value)
從接口復(fù)制的描述:map
如果指定的鍵尚未與值關(guān)聯(lián)(或映射到 null),則將其與給定值關(guān)聯(lián)并返回 null,否則返回當(dāng)前值。
指定者:
接口 MapK,V 中的 putIfAbsent
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 與指定值關(guān)聯(lián)的鍵 |
value | 與指定鍵關(guān)聯(lián)的值 |
返回:
與指定鍵關(guān)聯(lián)的前一個(gè)值,如果鍵沒有映射,則返回 null。 (如果實(shí)現(xiàn)支持 null 值,則返回 null 還可以指示映射先前將 null 與鍵關(guān)聯(lián)。)
public boolean remove(Object key, Object value)
從接口復(fù)制的描述:map
僅當(dāng)當(dāng)前映射到指定值時(shí),才刪除指定鍵的條目。
指定者:
在接口 MapK,V 中移除
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 與指定值關(guān)聯(lián)的鍵 |
value | 預(yù)期與指定鍵關(guān)聯(lián)的值 |
返回:
如果值已被刪除,則為 true
public boolean replace(K key, V oldValue, V newValue)
從接口復(fù)制的描述:map
僅當(dāng)當(dāng)前映射到指定值時(shí)才替換指定鍵的條目。
指定者:
在接口 MapK,V 中替換
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 與指定值關(guān)聯(lián)的鍵 |
oldValue | 預(yù)期與指定鍵關(guān)聯(lián)的值 |
newValue | 與指定鍵關(guān)聯(lián)的值 |
返回:
如果值被替換,則為 true
public V replace(K key, V value)
從接口復(fù)制的描述:map
僅當(dāng)當(dāng)前映射到某個(gè)值時(shí)才替換指定鍵的條目。
指定者:
在接口 MapK,V 中替換
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 與指定值關(guān)聯(lián)的鍵 |
value | 與指定鍵關(guān)聯(lián)的值 |
返回:
與指定鍵關(guān)聯(lián)的前一個(gè)值,如果鍵沒有映射,則返回 null。 (如果實(shí)現(xiàn)支持 null 值,則返回 null 還可以指示映射先前將 null 與鍵關(guān)聯(lián)。)
public V computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)
從接口復(fù)制的描述:map
如果指定的鍵尚未與值關(guān)聯(lián)(或映射為 null),則嘗試使用給定的映射函數(shù)計(jì)算其值并將其輸入到此映射中,除非為 null。
如果函數(shù)返回 null,則不記錄映射。 如果函數(shù)本身拋出(未經(jīng)檢查的)異常,則重新拋出異常,并且不記錄任何映射。 最常見的用法是構(gòu)造一個(gè)新對(duì)象作為初始映射值或記憶結(jié)果,如下所示:
map.computeIfAbsent(key, k -> new Value(f(k)));
或者實(shí)現(xiàn)一個(gè)多值映射,Map<K,Collection<V>>,每個(gè)鍵支持多個(gè)值:
map.computeIfAbsent(key, k -> new HashSet<V>()).add(v);
指定者:
接口 MapK,V 中的 computeIfAbsent
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 與指定值關(guān)聯(lián)的鍵 |
mappingFunction | 計(jì)算值的函數(shù) |
返回:
與指定鍵關(guān)聯(lián)的當(dāng)前(現(xiàn)有或計(jì)算的)值,如果計(jì)算的值為 null,則為 null
public V computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
從接口復(fù)制的描述:地圖
如果指定鍵的值存在且非空,則嘗試在給定鍵及其當(dāng)前映射值的情況下計(jì)算新映射。
如果函數(shù)返回 null,則刪除映射。 如果函數(shù)本身拋出(未經(jīng)檢查的)異常,則重新拋出異常,并且當(dāng)前映射保持不變。
指定者:
接口 MapK,V 中的 computeIfPresent
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 與指定值關(guān)聯(lián)的鍵 |
remappingFunction | 計(jì)算值的函數(shù) |
返回:
與指定鍵關(guān)聯(lián)的新值,如果沒有,則為 null
public V compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
從接口復(fù)制的描述:Map
嘗試計(jì)算指定鍵及其當(dāng)前映射值的映射(如果沒有當(dāng)前映射,則為 null)。 例如,要?jiǎng)?chuàng)建或附加 String msg 到值映射:
map.compute(key, (k, v) -> (v == null) ? msg : v.concat(msg))
(方法 merge() 通常更容易用于此類目的。)
如果函數(shù)返回 null,則刪除映射(如果最初不存在,則保持不存在)。 如果函數(shù)本身拋出(未經(jīng)檢查的)異常,則重新拋出異常,并且當(dāng)前映射保持不變。
指定者:
在接口 MapK,V 中計(jì)算
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 與指定值關(guān)聯(lián)的鍵 |
remappingFunction | 計(jì)算值的函數(shù) |
返回:
與指定鍵關(guān)聯(lián)的新值,如果沒有,則為 null
public V merge(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction)
從接口復(fù)制的描述:Map
如果指定的鍵尚未與值關(guān)聯(lián)或與 null 關(guān)聯(lián),則將其與給定的非 null 值關(guān)聯(lián)。 否則,將關(guān)聯(lián)的值替換為給定重映射函數(shù)的結(jié)果,如果結(jié)果為 null,則將其刪除。 當(dāng)為一個(gè)鍵組合多個(gè)映射值時(shí),此方法可能很有用。 例如,要?jiǎng)?chuàng)建或附加 String msg 到值映射:
map.merge(key, msg, String::concat)
如果函數(shù)返回 null,則刪除映射。 如果函數(shù)本身拋出(未經(jīng)檢查的)異常,則重新拋出異常,并且當(dāng)前映射保持不變。
指定者:
在接口 MapK,V 中合并
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
key | 與結(jié)果值關(guān)聯(lián)的鍵 |
value | 要與鍵關(guān)聯(lián)的現(xiàn)有值合并的非空值,或者如果沒有現(xiàn)有值或空值與鍵關(guān)聯(lián),則與鍵關(guān)聯(lián) |
remappingFunction | 重新計(jì)算值的函數(shù)(如果存在) |
返回:
與指定鍵關(guān)聯(lián)的新值,如果沒有值與該鍵關(guān)聯(lián),則為 null
public void forEach(BiConsumer<? super K,? super V> action)
從接口復(fù)制的描述:地圖
對(duì)該映射中的每個(gè)條目執(zhí)行給定的操作,直到處理完所有條目或該操作引發(fā)異常。 除非實(shí)現(xiàn)類另有規(guī)定,否則按照條目集迭代的順序執(zhí)行動(dòng)作(如果指定了迭代順序)。動(dòng)作拋出的異常將轉(zhuǎn)發(fā)給調(diào)用者。
指定者:
接口 MapK,V 中的 forEach
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
action | 為每個(gè)條目執(zhí)行的操作 |
public void replaceAll(BiFunction<? super K,? super V,? extends V> function)
從接口復(fù)制的描述:地圖
將每個(gè)條目的值替換為對(duì)該條目調(diào)用給定函數(shù)的結(jié)果,直到所有條目都已處理或該函數(shù)引發(fā)異常。 函數(shù)拋出的異常被轉(zhuǎn)發(fā)給調(diào)用者。
指定者:
接口 MapK,V 中的 replaceAll
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
function | 應(yīng)用于每個(gè)條目的函數(shù) |
public Object clone()
返回此 HashMap 實(shí)例的淺表副本:鍵和值本身沒有被克隆。
覆蓋:
在類 AbstractMapK,V 中克隆
返回:
這個(gè) map 的淺拷貝
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: