|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
java.lang.Objectjava.util.AbstractMap <K, V>
java.util.WeakHashMap<K, V>
public class WeakHashMap<K, V>
ÇØ½Ã Å×ÀÌºí¿¡ ±Ù°ÅÇÑ ¡¸¾àŰ¡¹¿¡ ÇÑ Map ±¸ÇöÀÔ´Ï´Ù. WeakHashMap ³»ÀÇ ¿£Æ®¸®´Â ±× ۰¡ º¸ÅëÀ¸·Î »ç¿ëµÇ´Â °ÍÀÌ ¾ø¾îÁö¸é ÀÚµ¿ÀûÀ¸·Î »èÁ¦µË´Ï´Ù. º¸´Ù Á¤È®ÇϰԴ ÁöÁ¤µÈ ŰÀÇ ¸ÅÇÎÀÌ Á¸ÀçÇØµµ, °¡ºñÁö Ä÷ºÅͰ¡ ۸¦ ÆÄ±âÇÏ´Â °ÍÀ» ¸·À» ¼ö ¾ø½À´Ï´Ù. Áï, ۰¡ ÆÄÀ̳ª¶óÀÌÁî °¡´ÉÇÏ°Ô µÇ¾î ÆÄÀ̳ª¶óÀÌÁî µÇ°í ³ª¼, Àç»ýµÇ´Â °ÍÀ» ¸·À» ¼ö ¾ø½À´Ï´Ù. ۰¡ ÆÄ±âµÇ¾úÀ» °æ¿ì, ±× ¿£Æ®¸®°¡ »ç½Ç»ó ¸ÊÀ¸·ÎºÎÅÍ »èÁ¦µÇ¹Ç·Î ÀÌ Å¬·¡½º´Â ´Ù¸¥ Map ±¸Çö°ú´Â Á¶±Ý ´Ù¸¥ µ¿ÀÛÀ» ÇÕ´Ï´Ù.
null Ä¡¿Í null Ű´Â ¾î´ÀÂÊÀ̳ª Áö¿ø µÇ°í ÀÖ½À´Ï´Ù. ÀÌ Å¬·¡½º´Â HashMap Ŭ·¡½º¿Í °°Àº ÆÛÆ÷¸Õ½º Ư¼ºÀ» °¡Á®, Ãʱ⠿뷮°ú ºÎÇÏ °è¼öÀÇ °°Àº È¿À² ÆÄ¶ó¹ÌÅ͸¦ °¡Áý´Ï´Ù.
´ëºÎºÐÀÇ Ä÷º¼Ç Ŭ·¡½º¿Í °°ÀÌ, ÀÌ Å¬·¡½º´Â µ¿±âÈ µÇÁö ¾Ê½À´Ï´Ù. µ¿±âÈ µÇ°í ÀÖ´Â WeakHashMap´Â Collections.synchronizedMap ¸Þ¼µå¸¦ »ç¿ëÇØ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ Å¬·¡½º´Â equals ¸Þ¼µå°¡ == ¿¬»êÀÚ¸¦ »ç¿ëÇØ °´Ã¼ ½Äº° Á¤º¸¸¦ ÆÇÁ¤Çϴ Ű °´Ã¼¿Í ÇÔ²² »ç¿ëÇÏ´Â °ÍÀ» ÁÖµÈ ¸ñÀûÀ¸·Î Çϰí ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ Å°°¡ ÆÄ±âµÇ¸é ´Ù½Ã µÎ ¹ø ´Ù½Ã ¸¸µé °ÍÀº ¾ø±â ¶§¹®¿¡ ±× ÀÌÈÄ¿¡ WeakHashMap ³»ÀÇ ±× ŰÀÇ °Ë»öÀ» ÇàÇϰųª ±× ¿£Æ®¸®°¡ »èÁ¦µÇ¾ú´ø °Í¿¡ ºÎÀû´çÀ» ´À²¸µµ, ´ëóÇÏ´Â ¹æ¹ýÀº ¾ø½À´Ï´Ù. ÀÌ Å¬·¡½º´Â String ÀνºÅϽºµîÀÇ °´Ã¼ ½Äº° Á¤º¸¿¡ ±Ù°ÅÇÏÁö ¾Ê´Â equals ¸Þ¼µå¸¦ °¡Áö´Â Ű °´Ã¼¸¦ ÀûÀýÈ÷ ó¸®ÇÕ´Ï´Ù. ´Ù¸¸, ´Ù½Ã ¸¸µé¾î °¡´ÉÇÑ Å° °´Ã¼¿¡¼´Â ۰¡ ÆÄ±âµÈ WeakHashMap ¿£Æ®¸®¸¦ ÀÚµ¿ »èÁ¦Çϸé, È¥¶õÀ» Èä³»±¸°¡´É¼ºÀÌ ÀÖ½À´Ï´Ù.
WeakHashMap Ŭ·¡½ºÀÇ µ¿ÀÛÀÇ ÀϺδ °¡ºñÁö Ä÷ºÅÍÀÇ ¾×¼Ç¿¡ Á¸ÇϹǷΠÀß ¾Ë·ÁÁ® À־ ÇÊ¿äÇÏÁö ¾Ê´Â ¸î°³ÀÇ Map ÀÎ º¯ÇüÀº ÀÌ Å¬·¡½º¿¡ ÀûÀýÇÏÁö ¾Ê½À´Ï´Ù. °¡ºñÁö Ä÷ºÅʹ Ű¸¦ ¾ðÁ¦¶óµµ ÆÄ±âÇÒ ¼ö ÀÖÀ¸¹Ç·ÎWeakHashMap´Â ¹ÌÁöÀÇ thread°¡ ¿£Æ®¸®¸¦ »èÁ¦ÁßÀÎ°Í °°ÀÌ µ¿ÀÛÇÕ´Ï´Ù. ƯÈ÷, 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·Î ·¦ ÇØÁ¦ÇÏ´Â °ÍÀÔ´Ï´Ù.
ÀÌ Å¬·¡½ºÀÇ ¸ðµç ¡¸ÄÚ·¹Å©¼Çºä¸Þ¼µå¡¹¿¡ ÀÇÇØ ¸®ÅÏµÈ ¹Ýº¹ÀÚ´Â ¡¸ÆäÀ̸£ÆÄ½ºÆ®¡¹ÀÔ´Ï´Ù. ¹Ýº¹ÀÚÀÇ ÀÛ¼º ÈÄ¿¡ ¹Ýº¹ÀÚ ÀÚüÀÇ remove ¸Þ¼µå ¶Ç´Â add ¸Þ¼µå ÀÌ¿Ü ¹æ¹ýÀ¸·Î ¸ÊÀ» ±¸Á¶ÀûÀ¸·Î º¯°æÇϸé, ¹Ýº¹ÀÚ´Â ConcurrentModificationExceptionÀ» Throw ÇÕ´Ï´Ù. µû¶ó¼, µ¿½Ã º¯°æÀ» Çϸé, ¹Ýº¹ÀÚ´Â Àå·¡ÀÇ ¿¹ÃøÇÒ ¼ö ¾ø´Â ½ÃÁ¡¿¡ ÀÖ¾î ¿¹ÃøÇÒ ¼ö ¾ø´Â µ¿ÀÛÀÌ ¹ß»ýÇÏ´Â À§ÇèÀ» ȸÇÇÇϱâ À§Çؼ Áï½Ã ÇÑÆí ¼Ø¾¾ ÀÚÁÖ ¿¹¿Ü¸¦ Throw ÇÕ´Ï´Ù.
º¸Åë, ºñµ¿±âÀÇ µ¿½Ã º¯°æÀÌ ÀÖ´Â °æ¿ì, È®½ÇÇÑ º¸ÁõÀ» ½Ç½ÃÇÏ´Â °ÍÀº ºÒ°¡´ÉÇØ¼, ¹Ýº¹ÀÚÀÇ ÆäÀ̸£ÆÄ½ºÆ®ÀÇ µ¿ÀÛÀ» º¸ÁõÇÒ ¼ö ¾ø½À´Ï´Ù. ÆäÀ̸£ÆÄ½ºÆ® ¹Ýº¹ÀÚ´Â ÃÖ¼± ³ë·Â ¿øÄ¢¿¡ ±â¹ÝÇØ ConcurrentModificationExceptionÀ» Throw ÇÕ´Ï´Ù. µû¶ó¼, Á¤È®À» ±âÇϱâ À§Çؼ ÀÌ ¿¹¿Ü¿¡ ÀÇÁ¸µÈ ÇÁ·Î±×·¥À» ¾²´Â °ÍÀº À߸øÀÔ´Ï´Ù. ¡¸¹Ýº¹ÀÚÀÇ ÆäÀ̸£ÆÄ½ºÆ®ÀÇ µ¿ÀÛÀº ¹ö±×¸¦ °ËÃâÇϱâ À§Çؼ ¸¶¼Å »ç¿ëÇØ¾ß ÇÕ´Ï´Ù¡¹
ÀÌ Å¬·¡½º´Â Java Collections Framework ¸â¹öÀÔ´Ï´Ù.
HashMap
,
WeakReference
»ý¼ºÀÚ °³¿ä | |
---|---|
WeakHashMap ()
µðÆúÆ®ÀÇ Ãʱ⠿뷮 (16)°ú µðÆúÆ®ÀÇ ºÎÇÏ °è¼ö (0.75)¸¦ °¡Áö´Â »õ·Î¿î ºñ¾îÀÖ´Â WeakHashMap¸¦ ÀÛ¼ºÇÕ´Ï´Ù. |
|
WeakHashMap (int initialCapacity)
ÁöÁ¤µÈ Ãʱ⠿뷮°ú µðÆúÆ®ÀÇ ºÎÇÏ °è¼ö (0.75)¸¦ °¡Áö´Â »õ·Î¿î ºñ¾îÀÖ´Â WeakHashMap¸¦ ÀÛ¼ºÇÕ´Ï´Ù. |
|
WeakHashMap (int initialCapacity,
float loadFactor)
ÁöÁ¤µÈ Ãʱ⠿뷮°ú ÁöÁ¤µÈ ºÎÇÏ °è¼ö¸¦ °¡Áö´Â »õ·Î¿î ºñ¾îÀÖ´Â WeakHashMap¸¦ ÀÛ¼ºÇÕ´Ï´Ù. |
|
WeakHashMap (Map <? extends K,
? extends V > t)
ÁöÁ¤µÈ Map¿Í °°Àº ¸ÅÇÎÀ» °¡Áö´Â »õ·Î¿îÀÇ WeakHashMap¸¦ ÀÛ¼ºÇÕ´Ï´Ù. |
¸Þ¼µå °³¿ä | |
---|---|
void |
clear ()
¸ðµç ¸ÅÇÎÀ» ¸ÊÀ¸·ÎºÎÅÍ »èÁ¦ÇÕ´Ï´Ù. |
boolean |
containsKey (Object key)
¸ÊÀÌ ÁöÁ¤µÈ ŰÀÇ ¸ÅÇÎÀ» º¸°ü À¯ÁöÇÏ´Â °æ¿ì¿¡ true¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
boolean |
containsValue (Object value)
¸ÊÀÌ 1°³ ¶Ç´Â º¹¼öÀÇ Å°¿Í ÁöÁ¤µÈ °ªÀ» ¸ÅÇÎ Çϰí ÀÖ´Â °æ¿ì¿¡ true¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
Set <Map.Entry <K,
V >> |
entrySet ()
¸Ê¿¡ Æ÷ÇԵǰí ÀÖ´Â ¸ÅÇÎÀÇ ÄÚ·¹Å©¼Çºä¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
V |
get (Object key)
ÀÌ ¾àÇØ½Ã ¸ÊÀ¸·Î ÁöÁ¤µÈ Ű¿¡ ¸Ê µÇ°í ÀÖ´Â °ªÀ» ¸®ÅÏÇÕ´Ï´Ù. |
boolean |
isEmpty ()
ÀÌ ¸ÊÀÌ Å°¿Í °ªÀÇ ¸ÅÇÎÀ» º¸°ü À¯ÁöÇÏÁö ¾Ê´Â °æ¿ì´Â true¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
Set <K > |
keySet ()
¸Ê¿¡ Æ÷ÇԵǰí Àִ ŰÀÇ ¼ÂÆ®ºä¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
V |
put (K key,
V value)
ÁöÁ¤µÈ °ª°ú ÁöÁ¤µÈ ۸¦ ÀÌ ¸Ê¿¡ °ü·ÃÁþ½À´Ï´Ù. |
void |
putAll (Map <? extends K,
? extends V > m)
ÁöÁ¤µÈ ¸ÊÀ¸·ÎºÎÅÍ ¸ðµç ¸ÅÇÎÀ» ¸Ê¿¡ Ä«ÇÇÇÕ´Ï´Ù. |
V |
remove (Object key)
Ű¿¡ ´ëÇÑ ¸ÅÇÎÀÌ ÀÖÀ¸¸é, ±× ۸¦ ¸ÊÀ¸·ÎºÎÅÍ »èÁ¦ÇÕ´Ï´Ù. |
int |
size ()
ÀÌ ¸ÊÀÇ Å°¿Í °ªÀÇ ¸ÅÇÎÀÇ ¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
Collection <V > |
values ()
¸Ê¿¡ Æ÷ÇԵǰí ÀÖ´Â °ªÀÇ ÄÚ·¹Å©¼Çºä¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
Ŭ·¡½º java.util. AbstractMap ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
---|
clone,
equals,
hashCode,
toString |
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
---|
finalize,
getClass,
notify,
notifyAll,
wait,
wait,
wait |
ÀÎÅÍÆäÀ̽º java.util. Map ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼µå |
---|
equals,
hashCode |
»ý¼ºÀÚ »ó¼¼ |
---|
public 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 > t)
t
- ¸ÅÇÎÀÌ ÀÌ ¸Ê¿¡ ¹èÄ¡µÇ´Â ¸Ê
NullPointerException
- ÁöÁ¤µÈ ¸ÊÀÌ nullÀÎ °æ¿ì¸Þ¼µåÀÇ »ó¼¼ |
---|
public int size()
Map <K,
V >
³»ÀÇ size
AbstractMap <K,
V >
³»ÀÇ size
public boolean isEmpty()
Map <K,
V >
³»ÀÇ isEmpty
AbstractMap <K,
V >
³»ÀÇ isEmpty
public V get(Object key)
Map <K,
V >
³»ÀÇ get
AbstractMap <K,
V >
³»ÀÇ get
key
- °ü·ÃµÈ
°ªÀÌ ¸®ÅϵÈ
Ű
put(Object, Object)
public boolean containsKey(Object key)
Map <K,
V >
³»ÀÇ containsKey
AbstractMap <K,
V >
³»ÀÇ containsKey
key
- ¸Ê¿¡ ÀÖÀ»Áö ¾î¶³Áö°¡ ÆÇÁ¤µÇ´Â Ű
public V put(K key, V value)
Map <K,
V >
³»ÀÇ put
AbstractMap <K,
V >
³»ÀÇ put
key
- ÁöÁ¤µÇ´Â °ªÀ» °ü·ÃµÈ
Űvalue
- ÁöÁ¤µÇ´Â Ű¿¡ °ü·ÃµÈ
°ª
public void putAll(Map <? extends K, ? extends V > m)
Map <K,
V >
³»ÀÇ putAll
AbstractMap <K,
V >
³»ÀÇ putAll
m
- ¸Ê¿¡ Æ÷ÇԵǴ ¸ÅÇÎ
NullPointerException
- ÁöÁ¤µÈ ¸ÊÀÌ nullÀÎ °æ¿ìpublic V remove(Object key)
Map <K,
V >
³»ÀÇ remove
AbstractMap <K,
V >
³»ÀÇ remove
key
- ¸ÅÇÎÀÌ ¸ÊÀ¸·ÎºÎÅÍ »èÁ¦µÇ´Â Ű
public void clear()
Map <K,
V >
³»ÀÇ clear
AbstractMap <K,
V >
³»ÀÇ clear
public boolean containsValue(Object value)
Map <K,
V >
³»ÀÇ containsValue
AbstractMap <K,
V >
³»ÀÇ containsValue
value
- ¸Ê¿¡ ÀÖÀ»Áö ¾î¶³Áö¸¦ ÆÇÁ¤µÇ´Â °ª
public Set <K > keySet()
Map <K,
V >
³»ÀÇ keySet
AbstractMap <K,
V >
³»ÀÇ keySet
public Collection <V > values()
Map <K,
V >
³»ÀÇ values
AbstractMap <K,
V >
³»ÀÇ values
public Set <Map.Entry <K, V >> entrySet()
Map <K,
V >
³»ÀÇ entrySet
AbstractMap <K,
V >
³»ÀÇ entrySet
Map.Entry
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.