K - ใใฎใใใใงไฟๆใใใใญใผใฎๅV - ใใใใใใๅคใฎๅpublic class WeakHashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>
nullๅคใจnullใญใผใฏใฉใกใใใตใใผใใใใฆใใพใใ ใใฎใฏใฉในใฏHashMapใฏใฉในใจๅใใใใชใใใฉใผใใณใน็นๆงใๆใกใๅๆๅฎน้ใจ่ฒ ่ทไฟๆฐใฎๅใๅน็ใใฉใกใผใฟใๆใกใพใใ
ใปใจใใฉใฎใณใฌใฏใทใงใณใปใฏใฉในใจๅใใใใซใใใฎใฏใฉในใฏๅๆๅใใใฆใใพใใใ ๅๆๅใใใฆใใWeakHashMapใฏCollections.synchronizedMapใกใฝใใใไฝฟใฃใฆไฝๆใงใใพใใ
ใใฎใฏใฉในใฏใequalsใกใฝใใใ==ๆผ็ฎๅญใไฝฟใฃใฆใชใใธใงใฏใ่ญๅฅๆ ๅ ฑใๅคๅฎใใใญใผใปใชใใธใงใฏใใจไธ็ทใซไฝฟใใใจใไธปใช็ฎ็ใจใใฆใใพใใ ใใฎใใใชใญใผใ็ ดๆฃใใใใจไบๅบฆใจไฝใ็ดใใใใใจใฏใชใใฎใงใๅพใซWeakHashMapๅ ใฎใใฎใญใผใฎๆค็ดขใ่กใฃใฆใใใฎใจใณใใชใๅ้คใใใฆใใใใจใซ้ฉใใใใชไบๆ ใฏ่ตทใใๅพใพใใใ ใใฎใฏใฉในใฏใStringใคใณในใฟใณในใชใฉใฎใชใใธใงใฏใ่ญๅฅๆ ๅ ฑใซๅบใฅใใชใequalsใกใฝใใใๆใคใญใผใปใชใใธใงใฏใใ้ฉๅใซๅฆ็ใใพใใ ใใ ใใใใฎใใใชไฝใ็ดใๅฏ่ฝใชใญใผใปใชใใธใงใฏใใงใฏใใใงใซใญใผใ็ ดๆฃใใใWeakHashMapใจใณใใชใฎ่ชๅ็ใชๅ้คใซใใฃใฆใๆททไนฑใ็ใใๅ ดๅใใใใพใใ
WeakHashMapใฏใฉในใฎๅไฝใฎไธ้จใฏใฌใใผใธใปใณใฌใฏใฟใฎใขใฏใทใงใณใซไพๅญใใใฎใงใใใ็ฅใใใฆใใฆใๅฟ ่ฆใงใฏใชใใใใใคใใฎMapใคใณใใชใขใณใใฏใใฎใฏใฉในใซ้ฉใใพใใใ ใฌใใผใธใปใณใฌใฏใฟใฏใญใผใใใคใงใ็ ดๆฃใงใใใฎใงใWeakHashMapใฏๆช็ฅใฎในใฌใใใ้็ฅใชใใงใจใณใใชใๅ้คไธญใงใใใใฎใใใซๅไฝใใพใใ ็นใซใWeakHashMapใคใณในใฟใณในไธใงๅๆใใจใใใใฎๅคๆด็จใกใฝใใใฎใฉใใๅผใณๅบใใชใๅ ดๅใงใใsizeใกใฝใใใฏใใๅฐใใชๅคใๆ้ใฎ็ต้ใจใจใใซ่ฟใใใจใใใใพใใisEmptyใกใฝใใใฏfalseใ่ฟใใฆใใtrueใ่ฟใใใจใใใใพใใcontainsKeyใกใฝใใใฏใๆๅฎใใใใญใผใซๅฏพใใฆtrueใ่ฟใใใใจใงfalseใ่ฟใใใจใใใใพใใgetใกใฝใใใฏใๆๅฎใใใใญใผใฎๅคใ่ฟใใใใจใงnullใ่ฟใใใจใใใใพใใputใกใฝใใใจremoveใกใฝใใใฏใไปฅๅใใใใซใใใใใซ่ฆใใใญใผใซๅฏพใใฆใใใใnullใจfalseใ่ฟใใใจใใใใพใใใญใผใปใปใใใๅคใณใฌใฏใทใงใณใใจใณใใชใปใปใใใ้ฃ็ถใใฆๆคๆปใใใจใๅบๅใใใ่ฆ็ด ใฎๆฐใๅฐใชใใชใฃใฆใใใใจใใใใพใใ
WeakHashMapๅ ใฎๅใญใผใปใชใใธใงใฏใใฏๅผฑๅ็ งใฎใชใใกใฌใณใใจใใฆ้ๆฅ็ใซๆ ผ็ดใใใฆใใพใใ ใใฎใใใใญใผใฏใใใใซๅฏพใใๅผฑๅ็ งใใใใใฎๅ ๅคใจใใซใฌใใผใธใปใณใฌใฏใฟใซใใฃใฆใฏใชใขใใใฆใใใฎใฟ่ชๅ็ใซๅ้คใใใพใใ
ๅฎ่ฃ ใซใใใฃใฆใฎใใผใ: WeakHashMapๅ ใฎๅคใชใใธใงใฏใใฏใ้ๅธธใฎๅผทๅ็ งใซใใฃใฆไฟๆใใใพใใ ใใฎใใใๅคใฎใชใใธใงใฏใใ็ดๆฅ็ใซใ้ๆฅ็ใซใๅผทใใใ่ชไฝใฎใญใผใๅ็ งใใชใใใใซใใฆใใ ใใใใใใใใฐใใญใผใ็ ดๆฃใใใชใใใใซใชใใพใใ ๅคใชใใธใงใฏใใฏWeakHashMap่ชไฝใไปใใฆใใฎใญใผใ้ๆฅ็ใซๅ็ งใงใใใใจใซๆณจๆใใฆใใ ใใใใคใพใใๅคใชใใธใงใฏใใใปใใฎใญใผใปใชใใธใงใฏใใๅผทใๅ็ งใใใใใซ้ข้ฃไปใใใใฆใใๅคใชใใธใงใฏใใไปๅบฆใฏๆๅใฎๅคใชใใธใงใฏใใฎใญใผใๅผทใๅ็ งใใใใจใใใใพใใ ใใใๅ ใฎๅคใใใใใใธใฎๅผทๅ็ งใไฟๆใใใใใใซไพๅญใใฆใใชใๅ ดๅใใใใซๅฏพๅฆใใๆนๆณใฎ1ใคใฏใm.put(key, new WeakReference(value))ใฎใใใซใๅค่ชไฝใWeakReferencesๅ ใซใฉใใใใๅพใงๆฟๅ ฅใใใใจใงใใใใใฆใgetใๅผใณๅบใใใณใซใใฎใฉใใใ่งฃ้คใใพใใ
ใใฎใฏใฉในใฎใในใฆใฎใณใฌใฏใทใงใณใปใใฅใผใปใกใฝใใใซใใฃใฆ่ฟใใใใณใฌใฏใทใงใณใฎiteratorใกใฝใใใซใใฃใฆ่ฟใใใใคใใฌใผใฟใฏใใใงใคใซใใกในใใงใใใคใใฌใผใฟใฎไฝๆๅพใซใใคใใฌใผใฟ่ชไฝใฎremoveใกใฝใใไปฅๅคใฎๆนๆณใงใใใใๆง้ ็ใซๅคๆดใใใใจใใคใใฌใผใฟใฏConcurrentModificationExceptionใในใญใผใใพใใ ใใฎใใใซใไธฆ่กใใฆๅคๆดใ่กใใใใจใใคใใฌใผใฟใฏใๅฐๆฅใฎไบๆธฌใงใใชใๆ็นใซใใใฆไบๆธฌใงใใชใๅไฝใ็บ็ใใๅฑ้บใๅ้ฟใใใใใซใใใ ใกใซใใคๆ้ใใไพๅคใในใญใผใใพใใ
้ๅธธใ้ๅๆใฎไธฆ่กๅคๆดใใใๅ ดๅใ็ขบใใชไฟ่จผใ่กใใใจใฏไธๅฏ่ฝใชใฎใงใใคใใฌใผใฟใฎใใงใคใซใใกในใใฎๅไฝใไฟ่จผใใใใจใฏใงใใพใใใ ใใงใคใซใใกในใใปใคใใฌใผใฟใฏๆๅๅชๅๅๅใซๅบใฅใใConcurrentModificationExceptionใในใญใผใใพใใ ใใใใฃใฆใๆญฃ็ขบใๆใใใใซใใฎไพๅคใซไพๅญใใใใญใฐใฉใ ใๆธใใใจใฏ่ชคใใงใใใคใใฌใผใฟใฎใใงใคใซใใกในใใฎๅไฝใฏใใฐใๆคๅบใใใใใซใฎใฟไฝฟ็จใในใใงใใ
ใใฎใฏใฉในใฏใJava Collections Frameworkใฎใกใณใใผใงใใ
HashMap, WeakReferenceAbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>| ใณใณในใใฉใฏใฟ | ่ชฌๆ |
|---|---|
WeakHashMap() |
ใใใฉใซใใฎๅๆๅฎน้(16)ใจ่ฒ ่ทไฟๆฐ(0.75)ใๆใคใๆฐใใ็ฉบใฎWeakHashMapใไฝๆใใพใใ
|
WeakHashMap(int initialCapacity) |
ๆๅฎใใใๅๆๅฎน้ใจใใใฉใซใใฎ่ฒ ่ทไฟๆฐ(0.75)ใๆใคใๆฐใใ็ฉบใฎWeakHashMapใไฝๆใใพใใ
|
WeakHashMap(int initialCapacity, float loadFactor) |
ๆๅฎใใใๅๆๅฎน้ใจๆๅฎใใใ่ฒ ่ทไฟๆฐใๆใคใๆฐใใ็ฉบใฎWeakHashMapใไฝๆใใพใใ
|
WeakHashMap(Map<? extends K,? extends V> m) |
ๆๅฎใใใใใใใจๅใใใใใณใฐใๆใคใๆฐใใWeakHashMapใๆง็ฏใใพใใ
|
| ไฟฎ้ฃพๅญใจๅ | ใกใฝใใ | ่ชฌๆ |
|---|---|---|
void |
clear() |
ใในใฆใฎใใใใณใฐใใใใใใๅ้คใใพใใ
|
boolean |
containsKey(Object key) |
ๆๅฎใฎใญใผใฎใใใใณใฐใใใฎใใใใซๅซใพใใฆใใๅ ดๅใซtrueใ่ฟใใพใใ
|
boolean |
containsValue(Object value) |
ใใใใ1ใคใพใใฏ่คๆฐใฎใญใผใๆๅฎใใใๅคใซใใใใณใฐใใฆใใๅ ดๅใซtrueใ่ฟใใพใใ
|
Set<Map.Entry<K,V>> |
entrySet() |
ใใฎใใใใซๅซใพใใใใใใณใฐใฎ
Setใใฅใผใ่ฟใใพใใ |
void |
forEach(BiConsumer<? super K,? super V> action) |
ใใฎใใใใฎใในใฆใฎใจใณใใชใฎๅฆ็ใๅฎไบใใใใขใฏใทใงใณใใไพๅคใในใญใผใใใใพใงใๅใจใณใใชใซๅฏพใใฆๆๅฎใใใใขใฏใทใงใณใๅฎ่กใใพใใ
|
V |
get(Object key) |
ๆๅฎใใใใญใผใใใใใใใฆใใๅคใ่ฟใใพใใใใฎใใใใซใใฎใญใผใฎใใใใณใฐใๅซใพใใฆใใชใๅ ดๅใฏ
nullใ่ฟใใพใใ |
boolean |
isEmpty() |
ใใฎใใใใใญใผใจๅคใฎใใใใณใฐใไฟๆใใชใๅ ดๅใซtrueใ่ฟใใพใใ
|
Set<K> |
keySet() |
ใใฎใใใใซๅซใพใใใญใผใฎ
Setใใฅใผใ่ฟใใพใใ |
V |
put(K key, V value) |
ๆๅฎใใใๅคใจๆๅฎใใใใญใผใใใฎใใใใซ้ข้ฃไปใใพใใ
|
void |
putAll(Map<? extends K,? extends V> m) |
ๆๅฎใใใใใใใใใในใฆใฎใใใใณใฐใใใใใซใณใใผใใพใใ
|
V |
remove(Object key) |
ใญใผใฎใใใใณใฐใใใๅ ดๅใซใใใฎใใใใณใฐใใใฎๅผฑใใใทใฅใปใใใใใๅ้คใใพใใ
|
void |
replaceAll(BiFunction<? super K,? super V,? extends V> function) |
ใในใฆใฎใจใณใใชใๅฆ็ใใใใใใพใใฏ้ขๆฐใไพๅคใในใญใผใใใพใงใๅใจใณใใชใฎๅคใใใใฎใจใณใใชใงๆๅฎใใใ้ขๆฐใๅผใณๅบใใ็ตๆใง็ฝฎๆใใพใใ
|
int |
size() |
ใใฎใใใๅ
ใฎใญใผๅคใใใใณใฐใฎๆฐใ่ฟใใพใใ
|
Collection<V> |
values() |
ใใฎใใใใซๅซใพใใๅคใฎ
Collectionใใฅใผใ่ฟใใพใใ |
clone, equals, hashCode, toStringfinalize, getClass, notify, notifyAll, wait, wait, waitcompute, computeIfAbsent, computeIfPresent, equals, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replacepublic WeakHashMap(int initialCapacity,
float loadFactor)
initialCapacity - WeakHashMapใฎๅๆๅฎน้loadFactor - WeakHashMapใฎ่ฒ ่ทไฟๆฐIllegalArgumentException -ๅๆๅฎน้ใ่ฒ ใฎๅ ดๅใใพใใฏ่ฒ ่ทไฟๆฐใๆญฃใงใชใๅ ดๅใpublic WeakHashMap(int initialCapacity)
initialCapacity - WeakHashMapใฎๅๆๅฎน้IllegalArgumentException - ๅๆๅฎน้ใ่ฒ ใฎๅ ดๅpublic WeakHashMap()
public WeakHashMap(Map<? extends K,? extends V> m)
m - ใใใใณใฐใใใฎใใใใซ้
็ฝฎใใใใใใNullPointerException - ๆๅฎใใใใใใใnullใฎๅ ดๅpublic int size()
public boolean isEmpty()
public V get(Object key)
nullใ่ฟใใพใใ
ใคใพใใใใฎใกใฝใใใฏใ(key==null ? k==null : key.equals(k))ใจใชใใญใผkใใๅคvใธใฎใใใใณใฐใใใฎใใใใซๅซใพใใฆใใๅ ดๅใฏvใ่ฟใใใใไปฅๅคใฎๅ ดๅใฏnullใ่ฟใใพใใ (ใใฎใใใชใใใใณใฐใฏ1ใคใฎใฟๅญๅจใงใใพใใ)
ๆปใๅคnullใฏใใใใใใญใผใฎใใใใณใฐใไฟๆใใฆใใชใใใจใ็คบใใจใฏใใใใพใใใใคใพใใใใใใๆ็คบ็ใซใญใผใnullใซใใใใใใใจใใใใพใใ containsKeyใชใใฌใผใทใงใณใไฝฟใใจใใใใใฎ2ใคใฎๅ ดๅใๅบๅฅใงใใพใใ
getใใคใณใฟใใงใผในMap<K,V>getใใฏใฉในAbstractMap<K,V>key - ้ข้ฃไปใใใใๅคใ่ฟใใใใญใผnullput(Object, Object)public boolean containsKey(Object key)
containsKeyใใคใณใฟใใงใผในMap<K,V>containsKeyใใฏใฉในAbstractMap<K,V>key - ใใฎใใใๅ
ใซใใใใฉใใใๅคๅฎใใใใญใผpublic V put(K key, V value)
putใใคใณใฟใใงใผในMap<K,V>putใใฏใฉในAbstractMap<K,V>key - ๆๅฎใฎๅคใ้ข้ฃไปใใใใใญใผใvalue - ๆๅฎใฎใญใผใซ้ข้ฃไปใใใใๅคใpublic void putAll(Map<? extends K,? extends V> m)
putAllใใคใณใฟใใงใผในMap<K,V>putAllใใฏใฉในAbstractMap<K,V>m - ใใฎใใใใซๆ ผ็ดใใใใใใใณใฐใNullPointerException - ๆๅฎใใใใใใใnullใฎๅ ดๅใpublic V remove(Object key)
(key==null ? k==null : key.equals(k))ใจใชใใญใผkใใๅคvใธใฎใใใใณใฐใใใฎใใใใซๅซใพใใๅ ดๅใใใฎใใใใณใฐใฏๅ้คใใใพใใ (ใใใใฏใใฎใใใชใใใใณใฐใ1ใคใ ใๅซใใใใจใใงใใพใใ)
ใใฎใใใใไปฅๅใซใใฎใญใผใ้ข้ฃไปใใฆใใๅคใ่ฟใใพใใใญใผใซๅฏพใใใใใใณใฐใใใใใซใชใใฃใๅ ดๅใฏnullใ่ฟใใพใใ ๆปใๅคใฎnullใฏใใใใใใญใผใฎใใใใณใฐใไฟๆใใฆใใชใใฃใใใจใ็คบใใจใฏใใใใพใใใใคใพใใใใใใๆ็คบ็ใซใญใผใnullใซใใใใใฆใใๅฏ่ฝๆงใใใใพใใ
ๅผๅบใใๆปใใจใใใใใฏๆๅฎใใใใญใผใฎใใใใณใฐใๅซใพใชใใชใใพใใ
removeใใคใณใฟใใงใผในMap<K,V>removeใใฏใฉในAbstractMap<K,V>key - ใใใใณใฐใใใใใใๅ้คใใใใญใผpublic void clear()
public boolean containsValue(Object value)
containsValueใใคใณใฟใใงใผในMap<K,V>containsValueใใฏใฉในAbstractMap<K,V>value - ใใฎใใใใซใใใใฉใใใๅคๅฎใใใๅคpublic Set<K> keySet()
Setใใฅใผใ่ฟใใพใใ ใปใใใฏใใใใจ้ฃๅใใฆใใใฎใงใใใใใซๅฏพใใๅคๆดใฏใปใใใซๅๆ ใใใใพใใใปใใใซๅฏพใใๅคๆดใฏใใใใซๅๆ ใใใพใใ ใปใใใฎๅๅพฉๅฆ็ไธญใซใใใใๅคๆดใใใๅ ดๅใๅๅพฉๅฆ็ใฎ็ตๆใฏๅฎ็พฉใใใฆใใพใใ(ใคใใฌใผใฟ่ช่บซใฎremoveใชใใฌใผใทใงใณใ้คใ)ใ ใปใใใฏ่ฆ็ด ใฎๅ้คใใตใใผใใใพใใIterator.removeใSet.removeใremoveAllใretainAllใใใใณclearใชใใฌใผใทใงใณใงๅฏพๅฟใใใใใใณใฐใใใใใใๅ้คใใพใใ addใพใใฏaddAllใชใใฌใผใทใงใณใฏใตใใผใใใฆใใพใใใ public Collection<V> values()
Collectionใใฅใผใ่ฟใใพใใ ใณใฌใฏใทใงใณใฏใใใใจ้ฃๅใใฆใใใฎใงใใใใใซๅฏพใใๅคๆดใฏใณใฌใฏใทใงใณใซๅๆ ใใใใพใใณใฌใฏใทใงใณใซๅฏพใใๅคๆดใฏใใใใซๅๆ ใใใพใใ ใณใฌใฏใทใงใณใฎๅๅพฉๅฆ็ไธญใซใใใใๅคๆดใใใๅ ดๅใๅๅพฉๅฆ็ใฎ็ตๆใฏๅฎ็พฉใใใฆใใพใใ(ใคใใฌใผใฟ่ช่บซใฎremoveใชใใฌใผใทใงใณใ้คใ)ใ ใณใฌใฏใทใงใณใฏ่ฆ็ด ใฎๅ้คใใตใใผใใใพใใIterator.removeใCollection.removeใremoveAllใretainAllใใใใณclearใชใใฌใผใทใงใณใงๅฏพๅฟใใใใใใณใฐใใใใใใๅ้คใใพใใ addใพใใฏaddAllใชใใฌใผใทใงใณใฏใตใใผใใใฆใใพใใใ public Set<Map.Entry<K,V>> entrySet()
Setใใฅใผใ่ฟใใพใใ ใปใใใฏใใใใจ้ฃๅใใฆใใใฎใงใใใใใซๅฏพใใๅคๆดใฏใปใใใซๅๆ ใใใใพใใใปใใใซๅฏพใใๅคๆดใฏใใใใซๅๆ ใใใพใใ ใปใใใฎๅๅพฉๅฆ็ไธญใซใใใใๅคๆดใใใๅ ดๅใๅๅพฉๅฆ็ใฎ็ตๆใฏๅฎ็พฉใใใฆใใพใใ(ใคใใฌใผใฟ่ช่บซใฎremoveใชใใฌใผใทใงใณใใพใใฏใคใใฌใผใฟใซใใ่ฟใใใใใใใปใจใณใใชใซๅฏพใใsetValueใชใใฌใผใทใงใณใ้คใ)ใ ใปใใใฏ่ฆ็ด ใฎๅ้คใใตใใผใใใพใใIterator.removeใSet.removeใremoveAllใretainAllใใใใณclearใชใใฌใผใทใงใณใงๅฏพๅฟใใใใใใณใฐใใใใใใๅ้คใใพใใ addใพใใฏaddAllใชใใฌใผใทใงใณใฏใตใใผใใใฆใใพใใใ public void forEach(BiConsumer<? super K,? super V> action)
Mappublic void replaceAll(BiFunction<? super K,? super V,? extends V> function)
MapreplaceAllใใคใณใฟใใงใผในMap<K,V>function - ๅใจใณใใชใซ้ฉ็จใใ้ขๆฐ ใใฐใพใใฏๆฉ่ฝใ้ไฟก
่ฉณ็ดฐใชAPIใชใใกใฌใณในใใใณ้็บ่
ใใญใฅใกใณใใซใคใใฆใฏใJava SEใฎใใญใฅใกใณใใๅ็
งใใฆใใ ใใใ ใใฎใใญใฅใกใณใใซใฏใๆฆๅฟต็ใชๆฆ่ฆใ็จ่ชใฎๅฎ็พฉใๅ้ฟๆนๆณใๆๅนใชใณใผใไพใชใฉใฎใ้็บ่
ใๅฏพ่ฑกใซใใใใ่ฉณ็ดฐใช่ชฌๆใๅซใพใใฆใใพใใ
Copyright ยฉ 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyใๅ็
งใใฆใใ ใใใ