ใฏใฉในHashMap<K,V>
- ๅใใฉใกใผใฟ:
K- ใใฎใใใใซใใฃใฆไฟๆใใใใญใผใฎใฟใคใV- ใใใใใใๅคใฎใฟใคใ
- ใในใฆใฎๅฎ่ฃ ใใใใคใณใฟใใงใผใน:
Serializable, Cloneable, Map<K,V>
- ็ด็ณปใฎๆข็ฅใฎใตใใฏใฉใน:
LinkedHashMap, PrinterStateReasons
Mapใคใณใฟใใงใผในใฎใใใทใฅ่กจใใผในใฎๅฎ่ฃ
ใ ใใฎๅฎ่ฃ
ใงใฏใใในใฆใฎใชใใทใงใณใฎใใใๆไฝใๆไพใใใnullๅคใใใณnullใญใผใ่จฑๅฏใใใพใใ (HashMapใฏใฉในใฏใHashtableใจใปใผๅ็ญใงใใใ้ๅๆใงNULLใ่จฑๅฏใใใ็นใ็ฐใชใใพใใ) ใใฎใฏใฉในใฏใใใใฎ้ ๅบใไฟ่จผใใพใใใ็นใซใใใฎ้ ๅบใๅธธใซไธๅฎใซไฟใคใใจใไฟ่จผใใพใใใ
ใใฎๅฎ่ฃ
ใฏใใใใทใฅ้ขๆฐใ่ฆ็ด ใใใฑใใ้ใง้ฉๅใซๅๆฃใใใจไปฎๅฎใใฆใๅบๆฌๆไฝ(getใใใณput)ใซๅฏพใใฆไธๅฎๆ้ใฎใใใฉใผใใณในใๆไพใใพใใ ใณใฌใฏใทใงใณใปใใฅใผใๅๅพฉใใใซใฏใHashMapใคใณในใฟใณใน(ใใฑใใๆฐ)ใฎ"ๅฎน้"ใจใใฎใตใคใบ(ใญใผใจๅคใฎใใใใณใฐใฎๆฐ)ใซๆฏไพใใๆ้ใๅฟ
่ฆใงใใ ใใใใฃใฆใๅๅพฉๅฆ็ใฎๆง่ฝใ้่ฆใชๅ ดๅใฏใๅๆๅฎน้ใใใพใ้ซใ(่ฒ ่ทไฟๆฐใใใพใไฝใ)่จญๅฎใใชใใใจใ้ๅธธใซ้่ฆใงใใ
HashMapใฎใคใณในใฟใณในใซใฏใใใฎใใใฉใผใใณในใซๅฝฑ้ฟใใ2ใคใฎใใฉใกใผใฟใใใใพใ: ๅๆๅฎน้ใใใณ่ฒ ่ท็ใ ๅฎน้ใฏใใใทใฅ่กจใฎใใฑใใๆฐใงใใใๅๆๅฎน้ใฏๅ็ดใซใใใทใฅ่กจใไฝๆใใใๆ็นใงใฎๅฎน้ใงใใ ่ฒ ่ทไฟๆฐใฏใใใใทใฅ่กจใใฉใฎ็จๅบฆใใฃใฑใใซใชใใจใใใฎๅฎน้ใ่ชๅ็ใซๅขๅ ใใใใใฎๅบๆบใงใใ ใใใทใฅ่กจใจใณใใชๆฐใ่ฒ ่ทไฟๆฐใจ็พๅจใฎๅฎน้ใฎ็ฉใ่ถ
ใใใจใใใใทใฅ่กจใฎใใใทใฅใใใ็ดใใ (ใคใพใใๅ
้จใใผใฟๆง้ ใๅๆง็ฏใใ)ใใใใทใฅ่กจใฎใใฑใใๆฐใฏ็ด2ๅใซใชใใพใใ
ใปใจใใฉใฎๅ ดๅใใใใฉใซใใฎ่ฒ ่ทไฟๆฐ(.75)ใงใฏใๆ้ใณในใใจในใใผในใปใณในใใฎ้ฃๅใใๅใใพใใ ๅคใๅคงใใใใใจ้ ๅใฎใชใผใใผใใใใฏๆธๅฐใใพใใใใซใใฏใขใใใปใณในใใฏ(getใputใชใฉใHashMapใฏใฉในใฎใปใจใใฉใฎๆไฝใซๅๆ ใใใพใ)ใซใชใใพใใ ๅๆๅฎน้ใ่จญๅฎใใใจใใฏใrehashใชใใฌใผใทใงใณใฎๅๆฐใๆๅฐ้ใซๆใใใใใซใใใใใฎใจใณใใชไบๅฎๆฐใใใณ่ฒ ่ทไฟๆฐใ่ๆ
ฎใใๅฟ
่ฆใใใใพใใ ๅๆๅฎน้ใใใจใณใใชใฎๆๅคงๆฐใ่ฒ ่ทไฟๆฐใงๅฒใฃใๅคใใๅคงใใๅ ดๅใrehashใชใใฌใผใทใงใณใฏ่ตทใใใพใใใ
ๅคๆฐใฎใใใใณใฐใHashMapใคใณในใฟใณในใซๆ ผ็ดใใๅ ดๅใๅๅใชๅฎน้ใงใใใไฝๆใใใจใ่กจใฎๆกๅผตใซๅฟ
่ฆใช่ชๅใชใใใทใณใฐใๅฎ่กใใใใใใใใใใณใฐใใใๅน็็ใซๆ ผ็ดใงใใพใใ ๅใhashCode()ใงๅคๆฐใฎใญใผใไฝฟ็จใใใจใๅฟ
ใใใใใใฎใใใทใฅ่กจใฎใใใฉใผใใณในใไฝไธใใใใจใซๆณจๆใใฆใใ ใใใ ๅฝฑ้ฟใ่ปฝๆธใใใใใใญใผใComparableใงใใๅ ดๅใฏใใใฎใฏใฉในใงใญใผ้ใฎๆฏ่ผ้ ๅบใไฝฟ็จใใฆใญใผใฎ้่คใ่งฃๆถใงใใพใใ
ใใฎๅฎ่ฃ
ใฏsynchronizedใใใพใใใ ่คๆฐใฎในใฌใใใไธฆ่กใใฆใใใทใฅใปใใใใซใขใฏใปในใใใใใใฎในใฌใใใฎๅฐใชใใจใ1ใคใๆง้ ็ใซใใใใๅคๆดใใๅ ดๅใฏใๅค้จใงใใฎๅๆใใจใๅฟ
่ฆใใใใพใใ ๆง้ ็ใชๅคๆดใจใฏใ1ใคไปฅไธใฎใใใใณใฐใ่ฟฝๅ ใพใใฏๅ้คใใใชใใฌใผใทใงใณใฎใใจใงใใใใงใซใคใณในใฟใณในใซๆ ผ็ดใใใฆใใใญใผใซ้ข้ฃไปใใใใๅคใๅคๆดใใใใจใฏๆง้ ็ใชๅคๆดใงใฏใใใพใใใ ใใใฏ้ๅธธใใใใใ่ช็ถใซใซใใปใซๅใใไธ้จใฎใชใใธใงใฏใใงsynchronizedใใใใจใซใใฃใฆ้ๆใใใพใใ ใใฎใใใชใชใใธใงใฏใใๅญๅจใใชใๅ ดๅใฏใCollections.synchronizedMapใกใฝใใใไฝฟ็จใใฆใใใใใใฉใใใใใใใจใใ่ฆใใใพใใ ใใใใ่ชคใฃใฆsynchronizedใชใใงใขใฏใปในใใใใฎใ้ฒใใใใซใไฝๆๆใซ่กใใใจใใ่ฆใใใพใใ
Map m = Collections.synchronizedMap(new HashMap(...));
ใใฎใฏใฉในใฎ"ใณใฌใฏใทใงใณ่กจ็คบใกใฝใใ"ใในใฆใซใใฃใฆ่ฟใใใใคใใฌใผใฟใฏใfail-fastใงใ: ใคใใฌใผใฟใฎไฝๆๅพใซใใใใๆง้ ็ใซๅคๆดใใใๅ ดๅใใคใใฌใผใฟ็ฌ่ชใฎremoveใกใฝใใไปฅๅคใฎใในใฆใฎๆนๆณใงใใคใใฌใผใฟใฏConcurrentModificationExceptionใในใญใผใใพใใ ใใฎใใใซใไธฆ่กใใฆๅคๆดใ่กใใใใจใใคใใฌใผใฟใฏใๅฐๆฅใฎไบๆธฌใงใใชใๆ็นใซใใใฆไบๆธฌใงใใชใๅไฝใ็บ็ใใๅฑ้บใๅ้ฟใใใใใซใใใ ใกใซใใคๆ้ใใไพๅคใในใญใผใใพใใ
้ๅธธใ้ๅๆใฎไธฆ่กๅคๆดใใใๅ ดๅใ็ขบใใชไฟ่จผใ่กใใใจใฏไธๅฏ่ฝใชใฎใงใใคใใฌใผใฟใฎใใงใคใซใใกในใใฎๅไฝใไฟ่จผใใใใจใฏใงใใพใใใ ใใงใคใซใใกในใใปใคใใฌใผใฟใฏใใในใใปใจใใฉใผใใปใใผในใงConcurrentModificationExceptionใในใญใผใใพใใ ใใใใฃใฆใๆญฃ็ขบใๆใใใใซใใฎไพๅคใซไพๅญใใใใญใฐใฉใ ใๆธใใใจใฏ่ชคใใงใใใคใใฌใผใฟใฎใใงใคใซใใกในใใฎๅไฝใฏใใฐใๆคๅบใใใใใซใฎใฟไฝฟ็จใในใใงใใ
ใใฎใฏใฉในใฏใJava Collections Frameworkใฎใกใณใใผใงใใ
- ๅฐๅ ฅใใใใใผใธใงใณ:
- 1.2
- ้ข้ฃ้ ็ฎ:
-
ใในใใใใใฏใฉในใฎใตใใชใผ
ใฏใฉในAbstractMapใงๅฎฃ่จใใใใในใใใใใฏใฉใน/ใคใณใฟใใงใผใน
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K, V> ไฟฎ้ฃพๅญใจๅใฏใฉใน่ชฌๆstatic classใญใผใจๅคใไฟๆใใใจใณใใชใstatic classใญใผใจๅคใไฟๅฎใใๅคๆดไธๅฏใฎใจใณใใชใ -
ใณใณในใใฉใฏใฟใฎใตใใชใผ
ใณใณในใใฉใฏใฟใณใณในใใฉใฏใฟ่ชฌๆHashMap()ใใใฉใซใใฎๅๆๅฎน้(16)ใใใณใใใฉใซใใฎใญใผใใปใใกใฏใฟ(0.75)ใไฝฟ็จใใฆใ็ฉบใฎHashMapใไฝๆใใพใใHashMap(int initialCapacity) ๆๅฎใใใๅๆๅฎน้ใใใณใใใฉใซใใฎใญใผใใปใใกใฏใฟ(0.75)ใไฝฟ็จใใฆใ็ฉบใฎHashMapใไฝๆใใพใใHashMap(int initialCapacity, float loadFactor) ๆๅฎใใใๅๆๅฎน้ใจ่ฒ ่ทไฟๆฐใๆใค็ฉบใฎHashMapใๆง็ฏใใพใใๆๅฎใใใMapใจๅใใใใใณใฐใงๆฐใใHashMapใไฝๆใใพใใ -
ใกใฝใใใฎใตใใชใผ
ไฟฎ้ฃพๅญใจๅใกใฝใใ่ชฌๆvoidclear()ใในใฆใฎใใใใณใฐใใใใใใๅ้คใใพใใclone()ใใฎHashMapใคใณในใฟใณในใฎใทใฃใญใผใปใณใใผใ่ฟใใพใ: ใญใผใจๅค่ชไฝใฏใฏใญใผใณใใใพใใใๆๅฎใใใใญใผใจใใฎ็พๅจใฎใใใใใใๅคใฎใใใใณใฐใใณใณใใฅใผใใใใใจใใพใใ็พๅจใฎใใใใณใฐ(ใชใใทใงใณใฎๆไฝ)ใใชใๅ ดๅใฏnullใงใใcomputeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction) ๆๅฎใใใใญใผใๅค(ใพใใฏใnullใซใใใใใใพใใ)ใซใพใ ้ข้ฃไปใใใใฆใใชใๅ ดๅใๆๅฎใใใใใใใณใฐ้ขๆฐใไฝฟ็จใใฆใใฎๅคใใณใณใใฅใผใใใnull(ใชใใทใงใณใฎๆไฝ)ใงใชใใใใใใฎใใใใซๅ ฅๅใใพใใcomputeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) ๆๅฎใใใใญใผใฎๅคใๅญๅจใใnullไปฅๅคใฎๅ ดๅใฏใใญใผใจใใฎ็พๅจใฎใใใใใใๅค(ใชใใทใงใณใฎๆไฝ)ใๆๅฎใใฆใๆฐใใใใใใณใฐใฎใณใณใใฅใผใใ่ฉฆใฟใพใใbooleancontainsKey(Object key) ๆๅฎใใใใญใผใฎใใใใณใฐใใใฎใใใใซๅซใพใใฆใใๅ ดๅใซtrueใ่ฟใใพใใbooleancontainsValue(Object value) ใใฎใใใใ1ใคใพใใฏ่คๆฐใฎใญใผใจๆๅฎใใใๅคใใใใใณใฐใใฆใใๅ ดๅใซtrueใ่ฟใใพใใentrySet()ใใฎใใใใซๅซใพใใใใใใณใฐใฎSetใใฅใผใ่ฟใใพใใๆๅฎใใใใญใผใใใใใใใฆใใๅคใ่ฟใใพใใใใฎใญใผใฎใใใใณใฐใใใฎใใใใซๅซใพใใฆใใชใๅ ดๅใฏnullใ่ฟใใพใใbooleanisEmpty()ใใฎใใใใใญใผใจๅคใฎใใใใณใฐใไฟๆใใชใๅ ดๅใซtrueใ่ฟใใพใใkeySet()ใใฎใใใใซๅซใพใใใญใผใฎSetใใฅใผใ่ฟใใพใใๆๅฎใใใใญใผใใพใ ๅคใซ้ข้ฃไปใใใใฆใใชใๅ ดๅใใพใใฏnullใซ้ข้ฃไปใใใใฆใใๅ ดๅใฏใๆๅฎใใใnullไปฅๅคใฎๅค(ใชใใทใงใณใฎๆไฝ)ใซ้ข้ฃไปใใพใใstatic <K,V> HashMap <K, V> newHashMap(int numMappings) ๅฟ ่ฆใชใใใใณใฐๆฐใซ้ฉใใๆฐใใ็ฉบใฎHashMapใไฝๆใใพใใๆๅฎใใใๅคใจๆๅฎใใใใญใผใใใฎใใใใซ้ข้ฃไปใใพใใvoidๆๅฎใใใใใใใใใในใฆใฎใใใใณใฐใใใใใซใณใใผใใพใใๆๅฎใใใใญใผใฎใใใใณใฐใใใใฐใใใใใๅ้คใใพใใintsize()ใใฎใใใๅ ใฎใญใผๅคใใใใณใฐใฎๆฐใ่ฟใใพใใvalues()ใใฎใใใใซๅซใพใใๅคใฎCollectionใใฅใผใ่ฟใใพใใใฏใฉในใงๅฎฃ่จใใใใกใฝใใ AbstractMap
equals, hashCode, toStringใฏใฉในใชใใธใงใฏใใงๅฎฃ่จใใใใกใฝใใ
finalize, getClass, notify, notifyAll, wait, wait, waitไฟฎ้ฃพๅญใจๅใกใฝใใ่ชฌๆprotected voidfinalize()ๅ้คไบๅฎใฎใใ้ๆจๅฅจ: ใใฎAPI่ฆ็ด ใฏใๅฐๆฅใฎใใผใธใงใณใงๅ้คใใใๅฏ่ฝๆงใใใใพใใๆ็ตๆฑบๅฎใฏ้ๆจๅฅจใงใใใๅฐๆฅใฎใชใชใผในใงๅ้คใใใๅฏ่ฝๆงใใใใพใใfinal Class<?> getClass()ใใฎObjectใฎๅฎ่กๆใฏใฉในใ่ฟใใพใใfinal voidnotify()ใใฎใชใใธใงใฏใใฎใขใใฟใผใงๅพ ๆฉไธญใฎในใฌใใใ1ใคๅ้ใใพใใfinal voidใใฎใชใใธใงใฏใใฎใขใใฟใผใงๅพ ๆฉไธญใฎใในใฆใฎในใฌใใใๅ้ใใพใใfinal voidwait()็พๅจใฎในใฌใใใ็ฎ่ฆใใใพใงๅพ ๆฉใใพใใ้ๅธธใnotifiedใพใใฏinterruptedใงใใfinal voidwait(long timeoutMillis) ็พๅจใฎในใฌใใใฏใ้ๅธธใnotifiedใพใใฏinterruptedใงใใใใไธๅฎใฎใชใขใซใฟใคใ ใ็ต้ใใใพใงใ็ฎ่ฆใใใพใงๅพ ๆฉใใพใใfinal voidwait(long timeoutMillis, int nanos) ็พๅจใฎในใฌใใใฏใ้ๅธธใnotifiedใพใใฏinterruptedใงใใใใไธๅฎใฎใชใขใซใฟใคใ ใ็ต้ใใใพใงใ็ฎ่ฆใใใพใงๅพ ๆฉใใพใใใคใณใฟใใงใผในMapใงๅฎฃ่จใใใใกใฝใใ
forEach, getOrDefault, putIfAbsent, remove, replace, replace, replaceAllไฟฎ้ฃพๅญใจๅใกใฝใใ่ชฌๆdefault voidforEach(BiConsumer<? super K, ? super V> action) ใใฎใใใใฎใในใฆใฎใจใณใใชใฎๅฆ็ใๅฎไบใใใใขใฏใทใงใณใใไพๅคใในใญใผใใใใพใงใๅใจใณใใชใซๅฏพใใฆๆๅฎใใใใขใฏใทใงใณใๅฎ่กใใพใใdefault VgetOrDefault(Object key, V defaultValue) ๆๅฎใใใใญใผใใใใใใใฆใใๅคใ่ฟใใพใใใใฎใใใใซใใฎใญใผใฎใใใใณใฐใๅซใพใใฆใใชใๅ ดๅใฏdefaultValueใ่ฟใใพใใdefault VputIfAbsent(K key, V value) ๆๅฎใใใใญใผใๅค(ใพใใฏใnullใซใใใใใใพใใ)ใซใพใ ้ข้ฃไปใใใใฆใใชใๅ ดๅใใใฎใญใผใฏๆๅฎใใใๅคใซ้ข้ฃไปใใใใnullใ่ฟใใพใใใใไปฅๅคใฎๅ ดๅใฏใ็พๅจใฎๅค(ใชใใทใงใณใฎๆไฝ)ใ่ฟใใพใใdefault booleanๆๅฎใใใใญใผใ็พๅจใๆๅฎใใใๅค(ใชใใทใงใณใฎๆไฝ)ใซใใใใใใฆใใๅ ดๅใซใฎใฟใใใฎใญใผใฎใจใณใใชใๅ้คใใพใใdefault Vๆๅฎใใใใญใผใฎใจใณใใชใใ็พๅจๅค(ใชใใทใงใณใฎๆไฝ)ใซใใใใใใฆใใๅ ดๅใซใฎใฟใใใฎใจใณใใชใ็ฝฎๆใใพใใdefault booleanๆๅฎใใใๅค(ใชใใทใงใณใฎๆไฝ)ใซ็พๅจใใใใใใฆใใๅ ดๅใซใฎใฟใๆๅฎใใใใญใผใฎใจใณใใชใ็ฝฎๆใใพใใdefault voidreplaceAll(BiFunction<? super K, ? super V, ? extends V> function) ใในใฆใฎใจใณใใชใๅฆ็ใใใใใ้ขๆฐใไพๅค(ใชใใทใงใณใฎๆไฝ)ใในใญใผใใใพใงใๅใจใณใใชใฎๅคใใใใฎใจใณใใชใฎๆๅฎใใใ้ขๆฐใๅผใณๅบใใ็ตๆใซ็ฝฎใๆใใพใใ
-
ใณใณในใใฉใฏใฟใฎ่ฉณ็ดฐ
-
HashMap
public HashMap(int initialCapacity, float loadFactor) ๆๅฎใใใๅๆๅฎน้ใจ่ฒ ่ทไฟๆฐใๆใค็ฉบใฎHashMapใๆง็ฏใใพใใ- APIใฎใใผใ:
- ไบๆณใใใๆฐใฎใใใใณใฐใซๅฏพๅฟใใๅๆๅฎน้ใๆใค
HashMapใไฝๆใใใซใฏใnewHashMapใไฝฟ็จใใพใใ - ใใฉใกใผใฟ:
initialCapacity- ๅๆๅฎน้loadFactor- ่ฒ ่ทไฟๆฐ- ในใญใผ:
IllegalArgumentException- ๅๆๅฎน้ใ่ฒ ใงใใใใ่ฒ ่ทไฟๆฐใๆญฃใงใชใๅ ดๅ
-
HashMap
public HashMap(int initialCapacity) ๆๅฎใใใๅๆๅฎน้ใใใณใใใฉใซใใฎใญใผใใปใใกใฏใฟ(0.75)ใไฝฟ็จใใฆใ็ฉบใฎHashMapใไฝๆใใพใใ- APIใฎใใผใ:
- ไบๆณใใใๆฐใฎใใใใณใฐใซๅฏพๅฟใใๅๆๅฎน้ใๆใค
HashMapใไฝๆใใใซใฏใnewHashMapใไฝฟ็จใใพใใ - ใใฉใกใผใฟ:
initialCapacity- ๅๆๅฎน้ใ- ในใญใผ:
IllegalArgumentException- ๅๆๅฎน้ใ่ฒ ใฎๅ ดๅใ
-
HashMap
public HashMap()ใใใฉใซใใฎๅๆๅฎน้(16)ใใใณใใใฉใซใใฎใญใผใใปใใกใฏใฟ(0.75)ใไฝฟ็จใใฆใ็ฉบใฎHashMapใไฝๆใใพใใ -
HashMap
ๆๅฎใใใMapใจๅใใใใใณใฐใงๆฐใใHashMapใไฝๆใใพใใHashMapใฏใใใใฉใซใใฎใญใผใใปใใกใฏใฟ(0.75)ใจใๆๅฎใใMapใฎใใใใณใฐใไฟๆใใใฎใซๅๅใชๅๆๅฎน้ใงไฝๆใใใพใใ- ใใฉใกใผใฟ:
m- ใใใใณใฐใใใฎใใใใซ้ ็ฝฎใใใใใใ- ในใญใผ:
NullPointerException- ๆๅฎใใใใใใใnullใฎๅ ดๅ
-
-
ใกใฝใใใฎ่ฉณ็ดฐ
-
size
-
isEmpty
public boolean isEmpty()ใใฎใใใใใญใผใจๅคใฎใใใใณใฐใไฟๆใใชใๅ ดๅใซtrueใ่ฟใใพใใ -
get
ๆๅฎใใใใญใผใใใใใใใฆใใๅคใ่ฟใใพใใใใฎใญใผใฎใใใใณใฐใใใฎใใใใซๅซใพใใฆใใชใๅ ดๅใฏnullใ่ฟใใพใใใคใพใใใใฎใกใฝใใใฏใ
(key==null ? k==null : key.equals(k))ใจใชใใญใผkใใๅคvใธใฎใใใใณใฐใใใฎใใใใซๅซใพใใฆใใๅ ดๅใฏvใ่ฟใใใใไปฅๅคใฎๅ ดๅใฏnullใ่ฟใใพใใ (ใใฎใใใชใใใใณใฐใฏ1ใคใฎใฟๅญๅจใงใใพใใ)ๆปใๅค
nullใฏใใใใใใญใผใฎใใใใณใฐใไฟๆใใฆใใชใใใจใ็คบใใจใฏใใใใพใใใใคใพใใใใใใๆ็คบ็ใซใญใผใnullใซใใใใใใใจใใใใพใใcontainsKeyๆไฝใไฝฟใใจใใใใ2ใคใฎใฑใผในใ่ฆๅใใใใจใใงใใพใใ- ๅฎ็พฉ:
- ใคใณใฟใใงใผใน
Map<K,ๅ ใฎV> get - ใชใผใใผใฉใคใ:
- ใฏใฉใน
AbstractMap<K,ใฎV> get - ใใฉใกใผใฟ:
key- ้ข้ฃไปใใใใๅคใ่ฟใใใใญใผ- ๆปใๅค:
- ๆๅฎใใใใญใผใใใใใใใฆใใๅคใใใฎใญใผใฎใใใใณใฐใใใฎใใใใซๅซใพใใฆใใชใๅ ดๅใฏ
null - ้ข้ฃ้ ็ฎ:
-
containsKey
public boolean containsKey(Object key) ๆๅฎใใใใญใผใฎใใใใณใฐใใใฎใใใใซๅซใพใใฆใใๅ ดๅใซtrueใ่ฟใใพใใ- ๅฎ็พฉ:
- ใคใณใฟใใงใผใน
Map<K,ๅ ใฎV> containsKey - ใชใผใใผใฉใคใ:
- ใฏใฉใน
AbstractMap<K,ใฎV> containsKey - ใใฉใกใผใฟ:
key- ใใฎใใใๅ ใซใใใใฉใใใๅคๅฎใใใใญใผ- ๆปใๅค:
- ๆๅฎใใใใญใผใฎใใใใณใฐใใใฎใใใใซๅซใพใใฆใใๅ ดๅใฏ
true
-
put
ๆๅฎใใใๅคใจๆๅฎใใใใญใผใใใฎใใใใซ้ข้ฃไปใใพใใ ใใใใไปฅๅใซใใฎใญใผใฎใใใใณใฐใไฟๆใใฆใใๅ ดๅใๅคใๅคใ็ฝฎใๆใใใใพใใ- ๅฎ็พฉ:
- ใคใณใฟใใงใผใน
Map<K,ๅ ใฎV> put - ใชใผใใผใฉใคใ:
- ใฏใฉใน
AbstractMap<K,ใฎV> put - ใใฉใกใผใฟ:
key- ๆๅฎใใใๅคใ้ข้ฃไปใใใใใญใผvalue- ๆๅฎใใใใญใผใซ้ข้ฃไปใใใใๅค- ๆปใๅค:
keyใซไปฅๅใซ้ข้ฃไปใใใใฆใใๅคใkeyใฎใใใใณใฐใๅญๅจใใชใใฃใๅ ดๅใฏnullใ (ๆปใๅคnullใฏใใใใใไปฅๅใซnullใจkeyใ้ข้ฃไปใใฆใใใใจใ็คบใๅ ดๅใใใ)
-
putAll
ๆๅฎใใใใใใใใใในใฆใฎใใใใณใฐใใใใใซใณใใผใใพใใ ใใใซใใใใใใใๆๅฎใใใใใใๅ ใซ็พๅจใใใญใผใฎใในใฆใซๅฏพใใฆๆใฃใฆใใใใใใณใฐใ็ฝฎใๆใใใใพใใ- ๅฎ็พฉ:
- ใคใณใฟใใงใผใน
Map<K,ๅ ใฎV> putAll - ใชใผใใผใฉใคใ:
- ใฏใฉใน
AbstractMap<K,ใฎV> putAll - ใใฉใกใผใฟ:
m- ใใฎใใใใซๆ ผ็ดใใใใใใใณใฐ- ในใญใผ:
NullPointerException- ๆๅฎใใใใใใใnullใฎๅ ดๅ
-
remove
ๆๅฎใใใใญใผใฎใใใใณใฐใใใใฐใใใใใๅ้คใใพใใ- ๅฎ็พฉ:
- ใคใณใฟใใงใผใน
Map<K,ๅ ใฎV> remove - ใชใผใใผใฉใคใ:
- ใฏใฉใน
AbstractMap<K,ใฎV> remove - ใใฉใกใผใฟ:
key- ใใใใณใฐใใใใใใๅ้คใใใใญใผ- ๆปใๅค:
keyใซไปฅๅใซ้ข้ฃไปใใใใฆใใๅคใkeyใฎใใใใณใฐใๅญๅจใใชใใฃใๅ ดๅใฏnullใ (ๆปใๅคnullใฏใใใใใไปฅๅใซnullใจkeyใ้ข้ฃไปใใฆใใใใจใ็คบใๅ ดๅใใใ)
-
clear
-
containsValue
public boolean containsValue(Object value) ใใฎใใใใ1ใคใพใใฏ่คๆฐใฎใญใผใจๆๅฎใใใๅคใใใใใณใฐใใฆใใๅ ดๅใซtrueใ่ฟใใพใใ- ๅฎ็พฉ:
- ใคใณใฟใใงใผใน
Map<K,ๅ ใฎV> containsValue - ใชใผใใผใฉใคใ:
- ใฏใฉใน
AbstractMap<K,ใฎV> containsValue - ใใฉใกใผใฟ:
value- ใใฎใใใใซใใใใฉใใใๅคๅฎใใใๅค- ๆปใๅค:
- ใใฎใใใใ1ใคใพใใฏ่คๆฐใฎใญใผใๆๅฎใใใๅคใซใใใใณใฐใใฆใใๅ ดๅใฏ
true
-
keySet
ใใฎใใใใซๅซใพใใใญใผใฎSetใใฅใผใ่ฟใใพใใ ใปใใใฏใใใใจ้ฃๅใใฆใใใฎใงใใใใใซๅฏพใใๅคๆดใฏใปใใใซๅๆ ใใใใพใใใปใใใซๅฏพใใๅคๆดใฏใใใใซๅๆ ใใใพใใ ใปใใใฎๅๅพฉๅฆ็ไธญใซใใใใๅคๆดใใใๅ ดๅใๅๅพฉๅฆ็ใฎ็ตๆใฏๅฎ็พฉใใใฆใใพใใ(ใคใใฌใผใฟ่ช่บซใฎremoveใชใใฌใผใทใงใณใ้คใ)ใ ใปใใใฏ่ฆ็ด ใฎๅ้คใใตใใผใใใพใใIterator.removeใSet.removeใremoveAllใretainAllใใใใณclearใชใใฌใผใทใงใณใงๅฏพๅฟใใใใใใณใฐใใใใใใๅ้คใใพใใaddใพใใฏaddAllๆไฝใฏใตใใผใใใใฆใใพใใใ -
values
public Collection<V> values()ใใฎใใใใซๅซใพใใๅคใฎCollectionใใฅใผใ่ฟใใพใใ ใณใฌใฏใทใงใณใฏใใใใจ้ฃๅใใฆใใใฎใงใใใใใซๅฏพใใๅคๆดใฏใณใฌใฏใทใงใณใซๅๆ ใใใใพใใณใฌใฏใทใงใณใซๅฏพใใๅคๆดใฏใใใใซๅๆ ใใใพใใ ใณใฌใฏใทใงใณใฎๅๅพฉๅฆ็ไธญใซใใใใๅคๆดใใใๅ ดๅใๅๅพฉๅฆ็ใฎ็ตๆใฏๅฎ็พฉใใใพใใ(ใคใใฌใผใฟ่ช่บซใฎremoveใชใใฌใผใทใงใณใ้คใ)ใ ใณใฌใฏใทใงใณใฏ่ฆ็ด ใฎๅ้คใใตใใผใใใฆใใใๅฏพๅฟใใใใใใณใฐใใใใใใๅ้คใงใใพใใๅ้คใฏใIterator.removeใCollection.removeใremoveAllใretainAllใใใใณclearใชใใฌใผใทใงใณใ้ใใฆ่กใใพใใaddใพใใฏaddAllๆไฝใฏใตใใผใใใใฆใใพใใใ -
entrySet
ใใฎใใใใซๅซใพใใใใใใณใฐใฎSetใใฅใผใ่ฟใใพใใ ใปใใใฏใใใใจ้ฃๅใใฆใใใฎใงใใใใใซๅฏพใใๅคๆดใฏใปใใใซๅๆ ใใใใพใใใปใใใซๅฏพใใๅคๆดใฏใใใใซๅๆ ใใใพใใ ใปใใใฎๅๅพฉๅฆ็ไธญใซใใใใๅคๆดใใใๅ ดๅใๅๅพฉๅฆ็ใฎ็ตๆใฏๅฎ็พฉใใใพใใ(ใคใใฌใผใฟ่ช่บซใฎremoveใชใใฌใผใทใงใณใใพใใฏใคใใฌใผใฟใซใใ่ฟใใใใใใใปใจใณใใชใซๅฏพใใsetValueใชใใฌใผใทใงใณใ้คใ)ใ ใปใใใฏ่ฆ็ด ใฎๅ้คใใตใใผใใใฆใใใๅฏพๅฟใใใใใใณใฐใใใใใใๅ้คใงใใพใใๅ้คใฏใIterator.removeใSet.removeใremoveAllใretainAllใใใใณclearใชใใฌใผใทใงใณใ้ใใฆ่กใใพใใaddใพใใฏaddAllๆไฝใฏใตใใผใใใใฆใใพใใใ -
computeIfAbsent
ๆๅฎใใใใญใผใๅค(ใพใใฏใnullใซใใใใใใพใใ)ใซใพใ ้ข้ฃไปใใใใฆใใชใๅ ดๅใๆๅฎใใใใใใใณใฐ้ขๆฐใไฝฟ็จใใฆใใฎๅคใใณใณใใฅใผใใใnull(ใชใใทใงใณใฎๆไฝ)ใงใชใใใใใใฎใใใใซๅ ฅๅใใพใใใใใใณใฐ้ขๆฐใ
nullใ่ฟใๅ ดๅใใใใใณใฐใฏ่จ้ฒใใใพใใใ ใใใใณใฐ้ขๆฐ่ชไฝใ(unchecked)ไพๅคใในใญใผใใๅ ดๅใไพๅคใฏๅในใญใผใใใใใใใณใฐใฏ่จ้ฒใใใพใใใ ใใฃใจใไธ่ฌ็ใช็จ้ใฏใๆฌกใฎใใใซๅๆใฎใใใใใใๅคใพใใฏใกใขๅใใใ็ตๆใจใใฆๆฉ่ฝใใๆฐใใใชใใธใงใฏใใๆง็ฏใใใใจใงใใmap.computeIfAbsent(key, k -> new Value(f(k)));ใพใใฏใ1ใคใฎใญใผใง่คๆฐใฎๅคใใตใใผใใใ่คๆฐๅคใใใ
Map<K,Collection<V>>ใๅฎ่ฃ ใใใใจใงใใmap.computeIfAbsent(key, k -> new HashSet<V>()).add(v);ใใใใณใฐ้ขๆฐใฏใ่จ็ฎไธญใซใใฎใใใใๅคๆดใใชใใงใใ ใใใ
ใใฎใกใฝใใใฏใใใใใณใฐ้ขๆฐใซใใฃใฆ่จ็ฎไธญใซใใฎใใใใๅคๆดใใใใใจใๆคๅบใใใๅ ดๅใซใใในใใปใจใใฉใผใใปใใผในใง
ConcurrentModificationExceptionใในใญใผใใพใใ- ๅฎ็พฉ:
- ใคใณใฟใใงใผใน
Map<K,ๅ ใฎV> computeIfAbsent - ใใฉใกใผใฟ:
key- ๆๅฎใใใๅคใ้ข้ฃไปใใใใใญใผmappingFunction- ๅคใใณใณใใฅใผใใใใใใใณใฐ้ขๆฐ- ๆปใๅค:
- ๆๅฎใใใใญใผใซ้ข้ฃไปใใใใฆใใ็พๅจใฎ(ๆขๅญใฎใใพใใฏ่จ็ฎใใใ)ๅคใ่จ็ฎใใใๅคใnullใงใใๅ ดๅใฏnull
- ในใญใผ:
ConcurrentModificationException- ใใใๆฉ่ฝใใใฎใใใใๅคๆดใใใใจใๆคๅบใใใๅ ดๅ
-
computeIfPresent
ๆๅฎใใใใญใผใฎๅคใๅญๅจใใnullไปฅๅคใฎๅ ดๅใฏใใญใผใจใใฎ็พๅจใฎใใใใใใๅค(ใชใใทใงใณใฎๆไฝ)ใๆๅฎใใฆใๆฐใใใใใใณใฐใฎใณใณใใฅใผใใ่ฉฆใฟใพใใๅใใใใณใฐ้ขๆฐใ
nullใ่ฟใๅ ดๅใใใใใณใฐใฏๅ้คใใใพใใ ๅใใใใณใฐ้ขๆฐ่ชไฝใ(unchecked)ไพๅคใในใญใผใใๅ ดๅใไพๅคใฏๅในใญใผใใใ็พๅจใฎใใใใณใฐใฏๅคๆดใใใพใใใๅใใใใณใฐ้ขๆฐใฏใ่จ็ฎไธญใซใใฎใใใใๅคๆดใใชใใงใใ ใใใ
ใใฎใกใฝใใใฏใๅใใใใณใฐ้ขๆฐใซใใฃใฆ่จ็ฎไธญใซใใฎใใใใๅคๆดใใใใใจใๆคๅบใใใๅ ดๅใซใใในใใปใจใใฉใผใใปใใผในใง
ConcurrentModificationExceptionใในใญใผใใพใใ- ๅฎ็พฉ:
- ใคใณใฟใใงใผใน
Map<K,ๅ ใฎV> computeIfPresent - ใใฉใกใผใฟ:
key- ๆๅฎใใใๅคใ้ข้ฃไปใใใใใญใผremappingFunction- ๅคใใณใณใใฅใผใใใใใใฎๅใใใ้ขๆฐ- ๆปใๅค:
- ๆๅฎใใใใญใผใซ้ข้ฃไปใใใใๆฐใใๅคใๅญๅจใใชใๅ ดๅใฏnull
- ในใญใผ:
ConcurrentModificationException- ใชใใใใณใฐๆฉ่ฝใใใฎใใใใๅคๆดใใใใจใๆคๅบใใใๅ ดๅ
-
compute
ๆๅฎใใใใญใผใจใใฎ็พๅจใฎใใใใใใๅคใฎใใใใณใฐใใณใณใใฅใผใใใใใจใใพใใ็พๅจใฎใใใใณใฐ(ใชใใทใงใณใฎๆไฝ)ใใชใๅ ดๅใฏnullใงใใ ใใจใใฐใๆฌกใฎใใใซใๅคใฎใใใใณใฐใซStringmsgใไฝๆใพใใฏ่ฟฝๅ ใใพใใ
(ใใฎใใใช็ฎ็ใงไฝฟ็จใใmap.compute(key, (k, v) -> (v == null) ? msg : v.concat(msg))merge()ใกใฝใใใฏใๅคใใฎๅ ดๅใใใๅ็ดใงใใ)ๅใใใใณใฐ้ขๆฐใ
nullใ่ฟใใๅ ดๅใใใใใณใฐใฏๅ้คใใใพใใ(ๆๅใซๆฌ ๅธญใใๅ ดๅใฏไธๅจใฎใพใพใงใ)ใ ๅใใใใณใฐ้ขๆฐ่ชไฝใ(unchecked)ไพๅคใในใญใผใใๅ ดๅใไพๅคใฏๅในใญใผใใใ็พๅจใฎใใใใณใฐใฏๅคๆดใใใพใใใๅใใใใณใฐ้ขๆฐใฏใ่จ็ฎไธญใซใใฎใใใใๅคๆดใใชใใงใใ ใใใ
ใใฎใกใฝใใใฏใๅใใใใณใฐ้ขๆฐใซใใฃใฆ่จ็ฎไธญใซใใฎใใใใๅคๆดใใใใใจใๆคๅบใใใๅ ดๅใซใใในใใปใจใใฉใผใใปใใผในใง
ConcurrentModificationExceptionใในใญใผใใพใใ- ๅฎ็พฉ:
- ใคใณใฟใใงใผใน
Map<K,ๅ ใฎV> compute - ใใฉใกใผใฟ:
key- ๆๅฎใใใๅคใ้ข้ฃไปใใใใใญใผremappingFunction- ๅคใใณใณใใฅใผใใใใใใฎๅใใใ้ขๆฐ- ๆปใๅค:
- ๆๅฎใใใใญใผใซ้ข้ฃไปใใใใๆฐใใๅคใๅญๅจใใชใๅ ดๅใฏnull
- ในใญใผ:
ConcurrentModificationException- ใชใใใใณใฐๆฉ่ฝใใใฎใใใใๅคๆดใใใใจใๆคๅบใใใๅ ดๅ
-
merge
ๆๅฎใใใใญใผใใพใ ๅคใซ้ข้ฃไปใใใใฆใใชใๅ ดๅใใพใใฏnullใซ้ข้ฃไปใใใใฆใใๅ ดๅใฏใๆๅฎใใใnullไปฅๅคใฎๅค(ใชใใทใงใณใฎๆไฝ)ใซ้ข้ฃไปใใพใใ ใใไปฅๅคใฎๅ ดๅใฏใๆๅฎใใใๅใใใใณใฐ้ขๆฐใฎ็ตๆใง้ข้ฃใใๅคใ็ฝฎๆใใ็ตๆใnullใฎๅ ดๅใฏๅ้คใใพใใ ใใฎใกใฝใใใฏใ1ใคใฎใญใผใซๅฏพใใ่คๆฐใฎใใใใใใๅคใ็ตๅใใใจใใซไฝฟ็จใงใใพใใ ใใจใใฐใๆฌกใฎใใใซใๅคใฎใใใใณใฐใซString msgใไฝๆใพใใฏ่ฟฝๅ ใใพใใmap.merge(key, msg, String::concat)ๅใใใใณใฐ้ขๆฐใ
nullใ่ฟใๅ ดๅใใใใใณใฐใฏๅ้คใใใพใใ ๅใใใใณใฐ้ขๆฐ่ชไฝใ(unchecked)ไพๅคใในใญใผใใๅ ดๅใไพๅคใฏๅในใญใผใใใ็พๅจใฎใใใใณใฐใฏๅคๆดใใใพใใใๅใใใใณใฐ้ขๆฐใฏใ่จ็ฎไธญใซใใฎใใใใๅคๆดใใชใใงใใ ใใใ
ใใฎใกใฝใใใฏใๅใใใใณใฐ้ขๆฐใซใใฃใฆ่จ็ฎไธญใซใใฎใใใใๅคๆดใใใใใจใๆคๅบใใใๅ ดๅใซใใในใใปใจใใฉใผใใปใใผในใง
ConcurrentModificationExceptionใในใญใผใใพใใ- ๅฎ็พฉ:
- ใคใณใฟใใงใผใน
Map<K,ๅ ใฎV> merge - ใใฉใกใผใฟ:
key- ็ตๆๅคใ้ข้ฃไปใใใใใญใผvalue- ใญใผใซ้ข้ฃไปใใใใๆขๅญใฎๅคใซใใผใธใใใnullไปฅๅคใฎๅคใๆขๅญใฎๅคใใชใๅ ดๅใใพใใฏใญใผใซnullๅคใ้ข้ฃไปใใใใฆใใๅ ดๅใฏใใญใผใซ้ข้ฃไปใใใใnullไปฅๅคใฎๅคremappingFunction- ๅญๅจใใๅ ดๅใซๅคใๅ่จ็ฎใใใใใฎๅใใใใณใฐ้ขๆฐ- ๆปใๅค:
- ๆๅฎใใใใญใผใซ้ข้ฃไปใใใใๆฐใใๅคใใญใผใซๅคใ้ข้ฃไปใใใใชใใฃใๅ ดๅใฏnull
- ในใญใผ:
ConcurrentModificationException- ใชใใใใณใฐๆฉ่ฝใใใฎใใใใๅคๆดใใใใจใๆคๅบใใใๅ ดๅ
-
clone
public Object clone()ใใฎHashMapใคใณในใฟใณในใฎใทใฃใญใผใปใณใใผใ่ฟใใพใ: ใญใผใจๅค่ชไฝใฏใฏใญใผใณใใใพใใใ- ใชใผใใผใฉใคใ:
- ใฏใฉใน
AbstractMap<K,ใฎV> clone - ๆปใๅค:
- ใใฎใใใใฎใทใฃใญใผใปใณใใผ
- ้ข้ฃ้ ็ฎ:
-
newHashMap
public static <K,V> HashMap<K,V> newHashMap(int numMappings) ๅฟ ่ฆใชใใใใณใฐๆฐใซ้ฉใใๆฐใใ็ฉบใฎHashMapใไฝๆใใพใใ ่ฟใใใใใใใงใฏใใใฉใซใใฎใญใผใไฟๆฐ0.75ใไฝฟ็จใใใๅๆๅฎน้ใฏ้ๅธธๅๅใซๅคงใใใใใใใใใฎใตใคใบใๅคๆดใใใซๅฟ ่ฆใชๆฐใฎใใใใณใฐใ่ฟฝๅ ใงใใพใใ- ๅใใฉใกใผใฟ:
K- ๆฐใใใใใใซใใฃใฆไฟๆใใใใญใผใฎใฟใคใV- ใใใใใใๅคใฎใฟใคใ- ใใฉใกใผใฟ:
numMappings- ใใใใณใฐใฎไบๆณๆฐ- ๆปใๅค:
- ๆฐใใไฝๆใใใใใใ
- ในใญใผ:
IllegalArgumentException- numMappingsใ่ฒ ใฎๅ ดๅ- ๅฐๅ ฅใใใใใผใธใงใณ:
- 19
-