JavaTM 2 Platform
Standard Ed. 5.0

java.util.concurrent
Ŭ·¡½º ConcurrentHashMap<K, V>

java.lang.Object 
  »óÀ§¸¦ È®Àå java.util.AbstractMap <K, V>
      »óÀ§¸¦ È®Àå java.util.concurrent.ConcurrentHashMap<K, V>
ÇüÅ ÆĶó¹ÌÅÍ:
K - ÀÌ ¸Ê¿¡ ÀÇÇØ À¯ÁöµÇ´Â Å°ÀÇ ÇüÅÂ
V - ¸ÅÇÎ µÈ °ªÀÇ ÇüÅÂ
¸ðµç ±¸ÇöµÈ ÀÎÅÍÆäÀ̽º:
Serializable, ConcurrentMap <K, V>, Map <K, V>

public class ConcurrentHashMap<K, V>
extends AbstractMap <K, V>
implements ConcurrentMap <K, V>, Serializable

ÃëµæÀÇ ¿ÏÀüÇÑ µ¿½Ã¼º ¹× ¿¹»óµÇ´Â Á¶Á¤ °¡´ÉÇÑ °»½Å µ¿½Ã¼ºÀ» Áö¿øÇÏ´Â Çؽà Å×À̺í. ÀÌ Å¬·¡½º´Â Hashtable ¿Í °°Àº ±â´É »ç¾ç¿¡ µû¶ó, Hashtable °¢ ¸Þ¼­µå¿¡ ´ëÀÀÇÏ´Â ¹öÀüÀÇ ¸Þ¼­µå¸¦ Æ÷ÇÔÇÕ´Ï´Ù. ´Ù¸¸, ¸ðµç Á¶ÀÛÀÌ thread ¼¼ÀÌÇÁÀÎ °æ¿ì¿¡¼­µµ, Ãëµæ Á¶ÀÛ¿¡ ¶ôÀº Æ÷ÇÔµÇÁö ¾Ê±â ¶§¹®¿¡ Å×À̺í Àüü°¡ ¶ô µÇ¾î ¸ðµç ¾×¼¼½º°¡ °ÅºÎµÉ °ÍÀº ¾ø½À´Ï´Ù. ÀÌ Å¬·¡½º´Â threadÀÇ ¾ÈÀü¼º¿¡ ÀÇÁ¸ÇÕ´Ï´Ù¸¸, µ¿±âÀÇ »ó¼¼ÇÏ°Ô Á¸ÇÏÁö ¾Ê´Â ÇÁ·Î±×·¥³»¿¡¼­ Hashtable¿Í ÀÇ ¿ÏÀüÇÑ »óÈ£ ¿î¿ëÀÌ °¡´ÉÇÕ´Ï´Ù.

º¸Åë, Ãëµæ Á¶ÀÛ (get¸¦ Æ÷ÇÔÇÑ´Ù)¿¡¼­´Â ºí·ÏÀº ½ÇÇàµÇÁö ¾Ê±â ¶§¹®¿¡ °»½Å Á¶ÀÛ°ú ¿À¹ö·¦ ÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù (put ¹× remove¸¦ Æ÷ÇÔÇÑ´Ù). Ãëµæ¿¡¼­´Â °³½Ã½Ã ·Î À¯ÁöÇÏ°í ÀÖ´Â °»½Å Á¶ÀÛ °¡¿îµ¥, ¸¶Áö¸·¿¡ ¡¸¿Ï·áÇß´Ù¡¹°»½Å Á¶ÀÛÀÇ °á°ú°¡ ¹Ý¿µµË´Ï´Ù. putAll ³ª clear µîÀÇ Áý°è Á¶ÀÛ¿¡¼­´Â µ¿½Ã ÃëµæÀº ÀϺÎÀÇ ¿£Æ®¸®ÀÇ »ðÀÔÀ̳ª »èÁ¦¸¸À» ¹Ý¿µÇÕ´Ï´Ù. °°ÀÌ Iterators ¹× Enumerations´Â ¾î¶² ½ÃÁ¡ ¶Ç´Â ¹Ýº¹ÀÚ/¿­°ÅÀÇ ÀÛ¼º ÀÌ·¡ÀÇ Çؽà Å×ÀÌºí »óŸ¦ ¹Ý¿µÇÏ´Â ¿ä¼Ò¸¦ ¸®ÅÏÇÕ´Ï´Ù. À̰͵éÀÌ ConcurrentModificationException¸¦ Throw ÇÒ °ÍÀº ¾ø½À´Ï´Ù¸¸, ÇÑ ¹ø¿¡ 1°³ÀÇ thread¸¸ÀÌ ¹Ýº¹ÀÚ¸¦ »ç¿ëÇϵµ·Ï ¼³°èµÇ°í ÀÖ½À´Ï´Ù.

°»½Å Á¶ÀÛÀ¸·Î Çã°¡µÇ´Â µ¿½Ã 󸮴 ¿É¼ÇÀÇ concurrencyLevel »ý¼ºÀÚ Àμö (µðÆúÆ®´Â 16)¿¡ ÀÇÇØ À̲ø¸³´Ï´Ù. ÀÌ °ªÀº ³»ºÎÀÇ »çÀÌÁî ¼³Á¤ÀÇ ÈùÆ®·Î¼­ »ç¿ëµË´Ï´Ù. Å×À̺íÀº ³»ºÎÀûÀ¸·Î ºÐÇҵǾî Áö½Ã¹ÞÀº ¼öÀÇ º´·Ä °»½ÅÀ» °æÇÕ ÇÏÁö ¾Ê°í Çã°¡ÇÏ´Â °ÍÀ» ½ÃµµÇÕ´Ï´Ù. Çؽà Å×ÀÌºí³»ÀÇ ¹èÄ¡´Â ±âº»ÀûÀ¸·Î ·£´ýÀ̱⠶§¹®¿¡ ½ÇÁ¦ÀÇ concurrent processing´Â ´Ù¸¨´Ï´Ù. ÀÌ»óÀûÀÌ°Ô´Â Å×À̺íÀ» µ¿½Ã¿¡ º¯°æÇÏ´Â thread¼ö¿¡ ´ëÀÀÇÑ °ªÀ» ¼±ÅÃÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ÇÊ¿äÇÑ °ªº¸´Ù ÇöÀúÇÏ°í Å« °ªÀ» »ç¿ëÇÏ¸é °ø°£°ú ½Ã°£ÀÌ ³¶ºñµÇ¾î ÇÊ¿äÇÑ °ªº¸´Ù ÇöÀúÇÏ°í ÀÛÀº °ªÀ» »ç¿ëÇϸé thread°¡ °æÇÕ ÇÒ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ´Ù¸¸, ÀϹÝÀûÀ¸·Î Àý´ëÄ¡ÀÇ ¼ø¼­ ³»ºÎ¸¦ °ú´ë Æò°¡ ¹× °ú¼ÒÆò°¡Çصµ, ±×¸¸Å­ Å« ¿µÇâÀº ¾ø½À´Ï´Ù. º¯°æÀ» ½ÇÇàÇÏ´Â °ÍÀº 1°³ÀÇ thread¸¸À¸·Î ³ª¸ÓÁöÀÇ thread´Â ¸ðµÎ µ¶Çظ¸À» ½ÇÇàÇÏ´Â °æ¿ì, ÀûÀýÇÑ °ªÀº 1 ÀÔ´Ï´Ù. ¶Ç, ÀÌ Çؽà Å×ÀÌºí ¶Ç´Â ±× ¿ÜÀÇ Á¾·ùÀÇ Çؽà Å×À̺íÀÇ »çÀÌÁî º¯°æÀº »ó´ëÀûÀ¸·Î Àú¼ÓÀÎ Á¶ÀÛÀÎ °ÍÀ¸·ÎºÎÅÍ, °¡´ÉÇÑ °æ¿ì´Â ¿¹»óµÇ´Â Å×ÀÌºí »çÀÌÁîÀÇ ÃßÁ¤Ä¡¸¦ »ý¼ºÀÚ À¸·Î ÁöÁ¤ÇØ µÎ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù.

ÀÌ Å¬·¡½º¿Í ±× ºä ¹× ¹Ýº¹ÀÚ´Â Map ¹× Iterator ÀÎÅÍÆäÀ̽ºÀÇ ¿É¼ÇÀÇ ¸Þ¼­µå¸¦ ¸ðµÎ ±¸ÇöÇÕ´Ï´Ù.

ÀÌ Å¬·¡½º´Â Å° ¶Ç´Â °ªÀ¸·Î Çؼ­ nullÀ» »ç¿ëÇÏ´Â °ÍÀ» Çã°¡ÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ°ÍÀº, Hashtable ¿Í °°Àº µ¿ÀÛÀ̸ç, HashMap ¿Í´Â ´Ù¸¥ µ¿ÀÛÀÔ´Ï´Ù.

ÀÌ Å¬·¡½º´Â Java Collections Framework ¸â¹öÀÔ´Ï´Ù.

µµÀÔµÈ ¹öÀü :
1.5
°ü·Ã Ç׸ñ:
Á÷·ÄÈ­ µÈ Çü½Ä

Áßø(Nested) Ŭ·¡½º °³¿ä
 
ÀÎÅÍÆäÀ̽º java.util. Map ·ÎºÎÅÍ »ó¼ÓµÈ Áßø(Nested) Ŭ·¡½º/ÀÎÅÍÆäÀ̽º
Map.Entry <K, V >
 
»ý¼ºÀÚ °³¿ä
ConcurrentHashMap ()
          µðÆúÆ®ÀÇ Ãʱ⠿뷮, ºÎÇÏ °è¼ö ¹× concurrencyLevel ·Î »õ·Î¿î ºñ¾îÀÖ´Â ¸ÊÀ» ÀÛ¼ºÇÕ´Ï´Ù.
ConcurrentHashMap (int initialCapacity)
          ÁöÁ¤µÈ Ãʱ⠿뷮, µðÆúÆ®ÀÇ ºÎÇÏ °è¼ö ¹× concurrencyLevel ·Î »õ·Î¿î ºñ¾îÀÖ´Â ¸ÊÀ» ÀÛ¼ºÇÕ´Ï´Ù.
ConcurrentHashMap (int initialCapacity, float loadFactor, int concurrencyLevel)
          ÁöÁ¤µÈ Ãʱ⠿뷮, ºÎÇÏ °è¼ö ¹× concurrent processing ·¹º§·Î »õ·Î¿î ºñ¾îÀÖ´Â ¸ÊÀ» ÀÛ¼ºÇÕ´Ï´Ù.
ConcurrentHashMap (Map <? extends K, ? extends V > t)
          ÁöÁ¤µÈ ¸Ê°ú °°Àº ¸ÅÇÎÀ¸·Î »õ·Î¿î ¸ÊÀ» ÀÛ¼ºÇÕ´Ï´Ù.
 
¸Þ¼­µå °³¿ä
 void clear ()
          ¸ðµç ¸ÅÇÎÀ» ¸ÊÀ¸·ÎºÎÅÍ »èÁ¦ÇÕ´Ï´Ù.
 boolean contains (Object  value)
          ÀϺÎÀÇ Å°°¡ ÀÌ Å×ÀÌºí³»ÀÇ Æ¯Á¤ÀÇ °ª¿¡ ¸ÅÇÎ µÉÁö ¾î¶³Áö¸¦ Å×½ºÆ®ÇÏ´Â Á¾·¡ÀÇ ¸Þ¼­µå °Ë»ç.
 boolean containsKey (Object  key)
          ÁöÁ¤µÈ °´Ã¼°¡ Å×À̺íÀÇ Å°Àΰ¡ ¾î¶²°¡¸¦ ÆÇÁ¤ÇÕ´Ï´Ù.
 boolean containsValue (Object  value)
          ÀÌ ¸ÊÀÌ 1°³ ÀÌ»óÀÇ Å°°¡ ÁöÁ¤µÈ °ª¿¡ ¸ÅÇÎ ÇÏ´Â °æ¿ì´Â true¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 Enumeration <V > elements ()
          Å×ÀÌºí¿¡ ÀÖ´Â °ªÀÇ ¸®½ºÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 Set <Map.Entry <K, V >> entrySet ()
          ÀÌ ¸Ê¿¡ Æ÷ÇԵǴ ¸ÅÇÎÀÇ ÄÚ·¹Å©¼Çºä¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 V get (Object  key)
          ÁöÁ¤µÈ Å°¿¡ ¸Ê µÇ°í ÀÖ´Â Å×À̺íÀÇ °ªÀ» ¸®ÅÏÇÕ´Ï´Ù.
 boolean isEmpty ()
          ¸ÊÀÌ Å°¿Í °ªÀÇ ¸ÅÇÎÀ» º¸°ü À¯ÁöÇÏÁö ¾Ê´Â °æ¿ì¿¡ true¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 Enumeration <K > keys ()
          Å×ÀÌºí¿¡ ÀÖ´Â Å°ÀÇ ¸®½ºÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 Set <K > keySet ()
          ÀÌ ¸Ê¿¡ Æ÷ÇԵǴ ŰÀÇ ¼ÂÆ®ºä¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 V put (K  key, V  value)
          Å×À̺í·Î ÁöÁ¤µÈ key°¡ ÁöÁ¤µÈ value¿¡ ¸Ê ÇÕ´Ï´Ù.
 void putAll (Map <? extends K, ? extends V > t)
          ÁöÁ¤ÇÑ ¸ÊÀ¸·ÎºÎÅÍ ÀÌ ¸Ê¿¡ ¸ðµç ¸ÅÇÎÀ» Ä«ÇÇÇÕ´Ï´Ù.
 V putIfAbsent (K  key, V  value)
          ÁöÁ¤µÈ Å°¸¦ °ª°ú °ü·ÃÁöÀ» ¼ö ÀÖÁö ¾ÊÀº °æ¿ì´Â ÁöÁ¤µÈ °ª¿¡ °ü·ÃÁþ½À´Ï´Ù.
 V remove (Object  key)
          Å° ( ¹× °Å±â¿¡ ´ëÀÀÇÏ´Â °ª)¸¦ Å×ÀÌºí¿¡¼­ »èÁ¦ÇÕ´Ï´Ù.
 boolean remove (Object  key, Object  value)
          Å°°¡ ÁöÁ¤µÈ °ª¿¡ ÇöÀç ¸ÅÇÎ µÇ°í ÀÖ´Â °æ¿ì¿¡°Ô¸¸, ±× Å°ÀÇ ¿£Æ®¸®¸¦ »èÁ¦ÇÕ´Ï´Ù.
 V replace (K  key, V  value)
          Å°°¡ °ª¿¡ ÇöÀç ¸ÅÇÎ µÇ°í ÀÖ´Â °æ¿ì¿¡°Ô¸¸, ±× Å°ÀÇ ¿£Æ®¸®¸¦ ġȯÇÕ´Ï´Ù.
 boolean replace (K  key, V  oldValue, V  newValue)
          Å°°¡ ÁöÁ¤µÈ °ª¿¡ ÇöÀç ¸ÅÇÎ µÇ°í ÀÖ´Â °æ¿ì¿¡°Ô¸¸, ±× Å°ÀÇ ¿£Æ®¸®¸¦ ġȯÇÕ´Ï´Ù.
 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
 

»ý¼ºÀÚ »ó¼¼

ConcurrentHashMap

public ConcurrentHashMap(int initialCapacity,
                         float loadFactor,
                         int concurrencyLevel)
ÁöÁ¤µÈ Ãʱ⠿뷮, ºÎÇÏ °è¼ö ¹× concurrent processing ·¹º§·Î »õ·Î¿î ºñ¾îÀÖ´Â ¸ÊÀ» ÀÛ¼ºÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
initialCapacity - Ãʱ⠿뷮. ¿©±â¼­ ÁöÁ¤µÈ ¿ä¼Ò¼ö¸¦ ¹Þ¾ÆµéÀÏ ¼ö°¡ ÀÖµµ·Ï, ±¸ÇöÀº ³»ºÎÀÇ »çÀÌÁî ¼³Á¤À» ½ÇÇàÇÏ´Â
loadFactor - »çÀÌÁî º¯°æÀÇ Á¦¾î¿¡ »ç¿ëµÇ´Â ºÎÇÏ °è¼öÀÇÀÇÇØ ±ÍÀÇÄ¡. »çÀÌÁî º¯°æÀº ¿ë±â¸¶´ÙÀÇ ¿ä¼ÒÀÇ Æò±Õ¼ö°¡ ÀÌÀÇÇØ ±ÍÀÇÄ¡¸¦ ³Ñ¾úÀ» °æ¿ì¿¡ ½ÇÇàµÇ´Â °æ¿ì°¡ ÀÖ´Â
concurrencyLevel - µ¿½Ã °»½ÅÀ» ½Ç½ÃÇÏ´Â threadÀÇ ÃßÁ¤¼ö. ¿©±â¼­ ÁöÁ¤µÈ thread¼ö¸¦ ¹Þ¾ÆµéÀÏ ¼ö°¡ ÀÖµµ·Ï, ±¸Çö¿¡ ÀÇÇØ ³»ºÎÀÇ »çÀÌÁî ¼³Á¤ÀÌ ½ÇÇàµÈ´Ù
¿¹¿Ü:
IllegalArgumentException - Ãʱ⠿뷮ÀÌ ºÎÀÎÁö, ºÎÇÏ °è¼ö ¶Ç´Â concurrencyLevel°¡ Á¤ÀÌ ¾Æ´Ñ °æ¿ì

ConcurrentHashMap

public ConcurrentHashMap(int initialCapacity)
ÁöÁ¤µÈ Ãʱ⠿뷮, µðÆúÆ®ÀÇ ºÎÇÏ °è¼ö ¹× concurrencyLevel ·Î »õ·Î¿î ºñ¾îÀÖ´Â ¸ÊÀ» ÀÛ¼ºÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
initialCapacity - Ãʱ⠿뷮. ¿©±â¼­ ÁöÁ¤µÈ ¿ä¼Ò¼ö¸¦ ¹Þ¾ÆµéÀÏ ¼ö°¡ ÀÖµµ·Ï, ±¸ÇöÀº ³»ºÎÀÇ »çÀÌÁî ¼³Á¤À» ½ÇÇàÇÑ´Ù
¿¹¿Ü:
IllegalArgumentException - ¿ä¼ÒÀÇ Ãʱ⠿뷮ÀÌ ºÎÀÇ °æ¿ì

ConcurrentHashMap

public ConcurrentHashMap()
µðÆúÆ®ÀÇ Ãʱ⠿뷮, ºÎÇÏ °è¼ö ¹× concurrencyLevel ·Î »õ·Î¿î ºñ¾îÀÖ´Â ¸ÊÀ» ÀÛ¼ºÇÕ´Ï´Ù.


ConcurrentHashMap

public ConcurrentHashMap(Map <?  extends K,
?  extends V > t)
ÁöÁ¤µÈ ¸Ê°ú °°Àº ¸ÅÇÎÀ¸·Î »õ·Î¿î ¸ÊÀ» ÀÛ¼ºÇÕ´Ï´Ù. ¸ÊÀº ÁöÁ¤µÈ ¸Ê¿¡ ÀÖ´Â ¸ÅÇμöÀÇ 2 ¹èÀÇ ¿ë·® ¶Ç´Â 11 (¾î´À ÂÊÀÎÁö Å« Æí) ¹× µðÆúÆ®ÀÇ ºÎÇÏ °è¼ö¿Í concurrencyLevel ·Î ÀÛ¼ºµË´Ï´Ù.

ÆĶó¹ÌÅÍ:
t - ¸Ê
¸Þ¼­µåÀÇ »ó¼¼

isEmpty

public boolean isEmpty()
Ŭ·¡½º AbstractMap ±â¼ú:
¸ÊÀÌ Å°¿Í °ªÀÇ ¸ÅÇÎÀ» º¸°ü À¯ÁöÇÏÁö ¾Ê´Â °æ¿ì¿¡ true¸¦ ¸®ÅÏÇÕ´Ï´Ù.

ÀÌ ±¸ÇöÀº size() == 0 °á°ú¸¦ ¸®ÅÏÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Map <K, V > ³»ÀÇ isEmpty
¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º AbstractMap <K, V > ³»ÀÇ isEmpty
¹Ýȯ°ª:
¸ÊÀÌ Å°¿Í °ªÀÇ ¸ÅÇÎÀ» º¸°ü À¯ÁöÇÏÁö ¾Ê´Â °æ¿ì´Â true

size

public int size()
Ŭ·¡½º AbstractMap ±â¼ú:
¸Ê³»ÀÇ Å°¿Í °ªÀÇ ¸ÅÇÎÀÇ ¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù. ¸Ê¿¡ Integer.MAX_VALUE º¸´Ù ¸¹Àº ¿ä¼Ò°¡ ÀÖ´Â °æ¿ì´Â Integer.MAX_VALUE¸¦ ¸®ÅÏÇÕ´Ï´Ù.

ÀÌ ±¸ÇöÀº entrySet(). size()¸¦ ¸®ÅÏÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Map <K, V > ³»ÀÇ size
¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º AbstractMap <K, V > ³»ÀÇ size
¹Ýȯ°ª:
¸Ê³»ÀÇ Å°¿Í °ªÀÇ ¸ÅÇÎÀÇ ¼ö

get

public V  get(Object  key)
ÁöÁ¤µÈ Å°¿¡ ¸Ê µÇ°í ÀÖ´Â Å×À̺íÀÇ °ªÀ» ¸®ÅÏÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Map <K, V > ³»ÀÇ get
¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º AbstractMap <K, V > ³»ÀÇ get
ÆĶó¹ÌÅÍ:
key - Å×À̺íÀÇ Å°
¹Ýȯ°ª:
ÁöÁ¤µÈ Å°¿¡ ¸Ê µÇ°í ÀÖ´Â Å×À̺íÀÇ °ª. ÁöÁ¤µÈ Å°¿¡ ¸Ê µÇ°í ÀÖ´Â °ªÀÌ ¾ø´Â °æ¿ì´Â null
¿¹¿Ü:
NullPointerException - Å°°¡ nullÀÎ °æ¿ì
°ü·Ã Ç׸ñ:
AbstractMap.containsKey(Object)

containsKey

public boolean containsKey(Object  key)
ÁöÁ¤µÈ °´Ã¼°¡ Å×À̺íÀÇ Å°Àΰ¡ ¾î¶²°¡¸¦ ÆÇÁ¤ÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Map <K, V > ³»ÀÇ containsKey
¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º AbstractMap <K, V > ³»ÀÇ containsKey
ÆĶó¹ÌÅÍ:
key - °¡´ÉÇÑ Å°
¹Ýȯ°ª:
equals ¸Þ¼­µå·Î °áÁ¤µÇ¾î ÀÖµµ·Ï, ÁöÁ¤µÈ °´Ã¼°¡ ÀÌ Å×À̺íÀÇ Å°ÀÎ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
¿¹¿Ü:
NullPointerException - Å°°¡ nullÀÎ °æ¿ì

containsValue

public boolean containsValue(Object  value)
ÀÌ ¸ÊÀÌ 1°³ ÀÌ»óÀÇ Å°°¡ ÁöÁ¤µÈ °ª¿¡ ¸ÅÇÎ ÇÏ´Â °æ¿ì´Â true¸¦ ¸®ÅÏÇÕ´Ï´Ù. ÁÖ: ÀÌ ¸Þ¼­µå´Â Çؽà Å×ÀÌºí³»¸¦ ¸ðµÎ traversal ÇÒ ÇÊ¿ä°¡ Àֱ⠶§¹®¿¡ containsKey ¸Þ¼­µåº¸´Ù Å«ÆøÀ¸·Î ´ÊÀº ó¸® ¼Óµµ·Î ½ÇÇàµË´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Map <K, V > ³»ÀÇ containsValue
¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º AbstractMap <K, V > ³»ÀÇ containsValue
ÆĶó¹ÌÅÍ:
value - ¸Ê¿¡ ÀÖÀ»Áö ¾î¶³Áö¸¦ ÆÇÁ¤µÇ´Â °ª
¹Ýȯ°ª:
¸ÊÀÌ 1°³ ¶Ç´Â º¹¼öÀÇ Å°¿Í ÁöÁ¤µÈ °ªÀ» ¸ÅÇÎ ÇÏ°í ÀÖ´Â °æ¿ì´Â true
¿¹¿Ü:
NullPointerException - °ªÀÌ nullÀÎ °æ¿ì

contains

public boolean contains(Object  value)
ÀϺÎÀÇ Å°°¡ ÀÌ Å×ÀÌºí³»ÀÇ Æ¯Á¤ÀÇ °ª¿¡ ¸ÅÇÎ µÉÁö ¾î¶³Áö¸¦ Å×½ºÆ®ÇÏ´Â Á¾·¡ÀÇ ¸Þ¼­µå °Ë»ç. ÀÌ ¸Þ¼­µå´Â containsValue(java.lang.Object) ¿Í °°Àº ±â´ÉÀ» °¡Áý´Ï´Ù. ÀÌ°ÍÀº Java Collections Framework µµÀÔÀü¿¡ ÀÌ ¸Þ¼­µå¸¦ Áö¿ø ÇÏ°í ÀÖ´ø, Hashtable Ŭ·¡½º¿ÍÀÇ ¿ÏÀüÇÑ È£È¯¼ºÀ» À¯ÁöÇϱâ À§Çؼ­¸¸ Á¸ÀçÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
value - °Ë»öÇÏ´Â °ª
¹Ýȯ°ª:
ÀÖ´Â Å°°¡ equals ¸Þ¼­µå·Î °áÁ¤µÇ¾î ÀÖ´Â Å×À̺íÀÇ value Àμö¿¡ ¸ÅÇÎ ÇÏ´Â °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
¿¹¿Ü:
NullPointerException - °ªÀÌ nullÀÎ °æ¿ì

put

public V  put(K  key,
             V  value)
Å×À̺í·Î ÁöÁ¤µÈ key°¡ ÁöÁ¤µÈ value¿¡ ¸Ê ÇÕ´Ï´Ù. ÀÌ Å°³ª °ªÀ» null¿¡ ÇØ¾ß ÇÏÁö´Â ¾Ê½À´Ï´Ù.

ÀÌ °ªÀº ¿øÀÇ Å°¿Í µ¿ÀÏÇÑ Å°¸¦ ÁöÁ¤ÇØ get ¸Þ¼­µå¸¦ È£ÃâÇÏ´Â °Í¿¡ ÀÇÇØ ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Map <K, V > ³»ÀÇ put
¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º AbstractMap <K, V > ³»ÀÇ put
ÆĶó¹ÌÅÍ:
key - Å×À̺í Å°
value - Ä¡
¹Ýȯ°ª:
Å×À̺íÀÇ ÁöÁ¤µÈ Å°ÀÇ ÀüÀÇ °ª. ±×°ÍÀÌ ¾ø´Â °æ¿ì´Â null
¿¹¿Ü:
NullPointerException - Å° ¶Ç´Â °ªÀÌ nullÀÎ °æ¿ì

putIfAbsent

public V  putIfAbsent(K  key,
                     V  value)
ÁöÁ¤µÈ Å°¸¦ °ª°ú °ü·ÃÁöÀ» ¼ö ÀÖÁö ¾ÊÀº °æ¿ì´Â ÁöÁ¤µÈ °ª¿¡ °ü·ÃÁþ½À´Ï´Ù. ÀÌ°ÍÀº ´ÙÀ½°ú °°½À´Ï´Ù.

   if (! map.containsKey(key)) 
      return map.put(key, value);
   else
      return map.get(key);
 
´Ù¸¸, ¾×¼ÇÀÌ ¿øÀÚÀûÀ¸·Î ½ÇÇàµÇ´Â Á¡ÀÌ ´Ù¸¨´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º ConcurrentMap <K, V > ³»ÀÇ putIfAbsent
ÆĶó¹ÌÅÍ:
key - ÁöÁ¤µÇ´Â °ªÀ» °ü·ÃµÈ Å°
value - ÁöÁ¤µÇ´Â Å°¿¡ °ü·ÃµÈ °ª
¹Ýȯ°ª:
ÁöÁ¤µÈ Å°¿Í °ü·ÃÁöÀ» ¼ö ÀÖ°í ÀÖ´ø ÀÌÀüÀÇ °ª. Å°ÀÇ ¸ÅÇÎÀÌ ¾ø¾ú´ø °æ¿ì´Â null
¿¹¿Ü:
NullPointerException - ÁöÁ¤µÈ Å° ¶Ç´Â °ªÀÌ nullÀÎ °æ¿ì

putAll

public void putAll(Map <?  extends K,
?  extends V > t)
ÁöÁ¤ÇÑ ¸ÊÀ¸·ÎºÎÅÍ ÀÌ ¸Ê¿¡ ¸ðµç ¸ÅÇÎÀ» Ä«ÇÇÇÕ´Ï´Ù.ÀÌ·¯ÇÑ ¸ÅÇο¡ÀÇÇØ ÇöÀç ÁöÁ¤µÈ Map Å°¿¡ ´ëÇؼ­ ÀÌ ¸ÊÀÌ °¡Áö´Â ¸ÅÇÎÀÌ Ä¡È¯µË´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Map <K, V > ³»ÀÇ putAll
¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º AbstractMap <K, V > ³»ÀÇ putAll
ÆĶó¹ÌÅÍ:
t - ¸Ê¿¡ Æ÷ÇԵǴ ¸ÅÇÎ

remove

public V  remove(Object  key)
Å° ( ¹× °Å±â¿¡ ´ëÀÀÇÏ´Â °ª)¸¦ Å×ÀÌºí¿¡¼­ »èÁ¦ÇÕ´Ï´Ù. ±× Å°°¡ Å×ÀÌºí¿¡ ¾ø´Â °æ¿ì´Â ¾Æ¹«°Íµµ ½Ç½ÃÇÏÁö ¾Ê½À´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Map <K, V > ³»ÀÇ remove
¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º AbstractMap <K, V > ³»ÀÇ remove
ÆĶó¹ÌÅÍ:
key - »èÁ¦ÇÏ´Â Å°
¹Ýȯ°ª:
Å×À̺í·Î ±× Å°¿¡ ¸Ê µÇ°í ÀÖ´Â °ª. ¸Ê µÇ°í ÀÖ´Â °ªÀÌ ¾ø´Â °æ¿ì´Â null
¿¹¿Ü:
NullPointerException - Å°°¡ nullÀÎ °æ¿ì

remove

public boolean remove(Object  key,
                      Object  value)
Å°°¡ ÁöÁ¤µÈ °ª¿¡ ÇöÀç ¸ÅÇÎ µÇ°í ÀÖ´Â °æ¿ì¿¡°Ô¸¸, ±× Å°ÀÇ ¿£Æ®¸®¸¦ »èÁ¦ÇÕ´Ï´Ù. ´ÙÀ½°ú °°ÀÌ µ¿ÀÛÇÕ´Ï´Ù.
 
  if (map.get(key). equals(value)) {
     map.remove(key);
     return true;
 } else return false;
 
´Ù¸¸, ¾×¼ÇÀÌ ¿øÀÚÀûÀ¸·Î ½ÇÇàµÇ´Â Á¡ÀÌ ´Ù¸¨´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º ConcurrentMap <K, V > ³»ÀÇ remove
ÆĶó¹ÌÅÍ:
key - ÁöÁ¤µÇ´Â °ªÀ» °ü·ÃµÈ Å°
value - ÁöÁ¤µÇ´Â Å°¿¡ °ü·ÃµÈ °ª
¹Ýȯ°ª:
°ªÀÌ »èÁ¦µÇ¾úÀ» °æ¿ì´Â true
¿¹¿Ü:
NullPointerException - ÁöÁ¤µÈ Å°°¡ null ÀÎ °æ¿ì

replace

public boolean replace(K  key,
                       V  oldValue,
                       V  newValue)
Å°°¡ ÁöÁ¤µÈ °ª¿¡ ÇöÀç ¸ÅÇÎ µÇ°í ÀÖ´Â °æ¿ì¿¡°Ô¸¸, ±× Å°ÀÇ ¿£Æ®¸®¸¦ ġȯÇÕ´Ï´Ù. ´ÙÀ½°ú °°ÀÌ µ¿ÀÛÇÕ´Ï´Ù.
 
  if (map.get(key). equals(oldValue)) {
     map.put(key, newValue);
     return true;
 } else return false;
 
´Ù¸¸, ¾×¼ÇÀÌ ¿øÀÚÀûÀ¸·Î ½ÇÇàµÇ´Â Á¡ÀÌ ´Ù¸¨´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º ConcurrentMap <K, V > ³»ÀÇ replace
ÆĶó¹ÌÅÍ:
key - ÁöÁ¤µÇ´Â °ªÀ» °ü·ÃµÈ Å°
oldValue - ÁöÁ¤µÇ´Â Å°¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ´Ù°í ¿¹»óµÇ´Â °ª
newValue - ÁöÁ¤µÇ´Â Å°¿¡ °ü·ÃµÈ °ª
¹Ýȯ°ª:
°ªÀÌ Ä¡È¯µÇ¾úÀ» °æ¿ì´Â true
¿¹¿Ü:
NullPointerException - ÁöÁ¤µÈ Å° ¶Ç´Â °ªÀÌ nullÀÎ °æ¿ì

replace

public V  replace(K  key,
                 V  value)
Å°°¡ °ª¿¡ ÇöÀç ¸ÅÇÎ µÇ°í ÀÖ´Â °æ¿ì¿¡°Ô¸¸, ±× Å°ÀÇ ¿£Æ®¸®¸¦ ġȯÇÕ´Ï´Ù. ´ÙÀ½°ú °°ÀÌ µ¿ÀÛÇÕ´Ï´Ù.
 
  if ((map.containsKey(key)) {
     return map.put(key, value);
 } else return null;
 
´Ù¸¸, ¾×¼ÇÀÌ ¿øÀÚÀûÀ¸·Î ½ÇÇàµÇ´Â Á¡ÀÌ ´Ù¸¨´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º ConcurrentMap <K, V > ³»ÀÇ replace
ÆĶó¹ÌÅÍ:
key - ÁöÁ¤µÇ´Â °ªÀ» °ü·ÃµÈ Å°
value - ÁöÁ¤µÇ´Â Å°¿¡ °ü·ÃµÈ °ª
¹Ýȯ°ª:
ÁöÁ¤µÈ Å°¿Í °ü·ÃÁöÀ» ¼ö ÀÖ°í ÀÖ´ø ÀÌÀüÀÇ °ª. Å°ÀÇ ¸ÅÇÎÀÌ ¾ø¾ú´ø °æ¿ì´Â null
¿¹¿Ü:
NullPointerException - ÁöÁ¤µÈ Å° ¶Ç´Â °ªÀÌ nullÀÎ °æ¿ì

clear

public void clear()
¸ðµç ¸ÅÇÎÀ» ¸ÊÀ¸·ÎºÎÅÍ »èÁ¦ÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Map <K, V > ³»ÀÇ clear
¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º AbstractMap <K, V > ³»ÀÇ clear

keySet

public Set <K > keySet()
ÀÌ ¸Ê¿¡ Æ÷ÇԵǴ ŰÀÇ ¼ÂÆ®ºä¸¦ ¸®ÅÏÇÕ´Ï´Ù. ¼¼Æ®´Â ¸ÊÀ» ±âº»À¸·Î ÇÏ°í ÀÖÀ¸¹Ç·Î ¸Ê¿¡ÀÇ º¯°æÀº ¼¼Æ®³»¿¡¼­ ¹Ý¿µµÇ¾î ¼¼Æ®¿¡ÀÇ º¯°æÀº ¸Ê³»¿¡¼­ ¹Ý¿µµË´Ï´Ù. ¼¼Æ®´Â Iterator.remove, Set.remove, removeAll, retainAll ¹× clear °¢ ¿ÀÆÛ·¹À̼ÇÀ» °³ÀÔ½ÃÄÑ, ÀÌ ¸ÊÀ¸·ÎºÎÅÍ ´ëÀÀÇÏ´Â ¸ÅÇÎÀ» »èÁ¦ÇÏ´Â ¿ä¼Ò »èÁ¦ 󸮸¦ Áö¿ø ÇÕ´Ï´Ù. add ¿ÀÆÛ·¹À̼ÇÀ̳ª addAll ¿ÀÆÛ·¹À̼ÇÀº Áö¿ø µÇÁö ¾Ê½À´Ï´Ù. ºä¿¡ ¸®ÅÏµÈ iterator´Â ¡¸¾àÀÏ°ü¼º¡¹À» °¡Áö´Â ¹Ýº¹ÀÚÀ̸ç, ConcurrentModificationException¸¦ Throw ÇÏ´Â °ÍÀº °áÄÚ ¾ø°í, ¹Ýº¹ÀÚÀÇ ±¸Ãà½Ã¿¡ Á¸ÀçÇÑ ¿ä¼Ò¸¦ ÀüŽ»öÇÏ´Â °ÍÀ» º¸ÁõÇÕ´Ï´Ù. ¶Ç, ±¸Ãà ÈÄÀÇ º¯°æÀ» ¹Ý¿µÇÏ´Â Àϵµ °¡´ÉÇÕ´Ï´Ù (´Ù¸¸ º¸ÁõµÇÁö´Â ¾Ê¾Ò´Ù).

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Map <K, V > ³»ÀÇ keySet
¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º AbstractMap <K, V > ³»ÀÇ keySet
¹Ýȯ°ª:
¸Ê¿¡ Æ÷ÇԵǾî ÀÖ´Â Å°ÀÇ ¼ÂÆ®ºä

values

public Collection <V > values()
ÀÌ ¸Ê¿¡ Æ÷ÇԵǴ °ªÀÇ ÄÚ·¹Å©¼Çºä¸¦ ¸®ÅÏÇÕ´Ï´Ù. Ä÷º¼ÇÀº ¸ÊÀ» ±âº»À¸·Î ÇÏ°í ÀÖÀ¸¹Ç·Î ¸Ê¿¡ÀÇ º¯°æÀº Ä÷º¼Ç³»¿¡¼­ ¹Ý¿µµÇ¾î Ä÷º¼Ç¿¡ÀÇ º¯°æÀº ¸Ê³»¿¡¼­ ¹Ý¿µµË´Ï´Ù. Ä÷º¼ÇÀº, Iterator.remove, Collection.remove, removeAll, retainAll ¹× clear °¢ ¿ÀÆÛ·¹À̼ÇÀ» °³ÀÔ½ÃÄÑ, ÀÌ ¸ÊÀ¸·ÎºÎÅÍ ´ëÀÀÇÏ´Â ¸ÅÇÎÀ» »èÁ¦ÇÏ´Â ¿ä¼Ò »èÁ¦ 󸮸¦ Áö¿ø ÇÕ´Ï´Ù. add ¿ÀÆÛ·¹À̼ÇÀ̳ª addAll ¿ÀÆÛ·¹À̼ÇÀº Áö¿ø µÇÁö ¾Ê½À´Ï´Ù. ºä¿¡ ¸®ÅÏµÈ iterator´Â ¡¸¾àÀÏ°ü¼º¡¹À» °¡Áö´Â ¹Ýº¹ÀÚÀ̸ç, ConcurrentModificationException¸¦ Throw ÇÏ´Â °ÍÀº °áÄÚ ¾ø°í, ¹Ýº¹ÀÚÀÇ ±¸Ãà½Ã¿¡ Á¸ÀçÇÑ ¿ä¼Ò¸¦ ÀüŽ»öÇÏ´Â °ÍÀ» º¸ÁõÇÕ´Ï´Ù. ¶Ç, ±¸Ãà ÈÄÀÇ º¯°æÀ» ¹Ý¿µÇÏ´Â Àϵµ °¡´ÉÇÕ´Ï´Ù (´Ù¸¸ º¸ÁõµÇÁö´Â ¾Ê¾Ò´Ù).

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Map <K, V > ³»ÀÇ values
¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º AbstractMap <K, V > ³»ÀÇ values
¹Ýȯ°ª:
¸Ê³»¿¡ Æ÷ÇԵǾî ÀÖ´Â °ªÀÇ ÄÚ·¹Å©¼Çºä

entrySet

public Set <Map.Entry <K,
V >> entrySet()
ÀÌ ¸Ê¿¡ Æ÷ÇԵǴ ¸ÅÇÎÀÇ ÄÚ·¹Å©¼Çºä¸¦ ¸®ÅÏÇÕ´Ï´Ù. ¸®ÅÏµÈ Ä÷º¼Ç³»ÀÇ °¢ ¿ä¼Ò´Â Map.Entry ÀÔ´Ï´Ù. Ä÷º¼ÇÀº ¸ÊÀ» ±âº»À¸·Î ÇÏ°í ÀÖÀ¸¹Ç·Î ¸Ê¿¡ÀÇ º¯°æÀº Ä÷º¼Ç³»¿¡¼­ ¹Ý¿µµÇ¾î Ä÷º¼Ç¿¡ÀÇ º¯°æÀº ¸Ê³»¿¡¼­ ¹Ý¿µµË´Ï´Ù. Ä÷º¼ÇÀº, Iterator.remove, Collection.remove, removeAll, retainAll ¹× clear °¢ ¿ÀÆÛ·¹À̼ÇÀ» °³ÀÔ½ÃÄÑ, ÀÌ ¸ÊÀ¸·ÎºÎÅÍ ´ëÀÀÇÏ´Â ¸ÅÇÎÀ» »èÁ¦ÇÏ´Â ¿ä¼Ò »èÁ¦ 󸮸¦ Áö¿ø ÇÕ´Ï´Ù. add ¿ÀÆÛ·¹À̼ÇÀ̳ª addAll ¿ÀÆÛ·¹À̼ÇÀº Áö¿ø µÇÁö ¾Ê½À´Ï´Ù. ºä¿¡ ¸®ÅÏµÈ iterator´Â ¡¸¾àÀÏ°ü¼º¡¹À» °¡Áö´Â ¹Ýº¹ÀÚÀ̸ç, ConcurrentModificationException¸¦ Throw ÇÏ´Â °ÍÀº °áÄÚ ¾ø°í, ¹Ýº¹ÀÚÀÇ ±¸Ãà½Ã¿¡ Á¸ÀçÇÑ ¿ä¼Ò¸¦ ÀüŽ»öÇÏ´Â °ÍÀ» º¸ÁõÇÕ´Ï´Ù. ¶Ç, ±¸Ãà ÈÄÀÇ ¸ðµç º¯°æÀ» ¹Ý¿µÇÏ´Â Àϵµ °¡´ÉÇÕ´Ï´Ù (´Ù¸¸ º¸ÁõµÇÁö´Â ¾Ê¾Ò´Ù).

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Map <K, V > ³»ÀÇ entrySet
Á¤ÀÇ:
Ŭ·¡½º AbstractMap <K, V > ³»ÀÇ entrySet
¹Ýȯ°ª:
¸Ê³»¿¡ º¸°ü À¯ÁöµÇ°í ÀÖ´Â ¸ÅÇÎÀÇ ÄÚ·¹Å©¼Çºä

keys

public Enumeration <K > keys()
Å×ÀÌºí¿¡ ÀÖ´Â Å°ÀÇ ¸®½ºÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.

¹Ýȯ°ª:
Å×ÀÌºí¿¡ ÀÖ´Â Å°ÀÇ ¸®½ºÆ®
°ü·Ã Ç׸ñ:
keySet

elements

public Enumeration <V > elements()
Å×ÀÌºí¿¡ ÀÖ´Â °ªÀÇ ¸®½ºÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.

¹Ýȯ°ª:
Å×ÀÌºí¿¡ ÀÖ´Â °ªÀÇ ¸®½ºÆ®
°ü·Ã Ç׸ñ:
values

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.