|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
java.lang.Object | +--java.util.AbstractMap | +--java.util.HashMap
Map ÀÎÅÍÆäÀ̽ºÀÇ ÇØ½Ã Å×ÀÌºí¿¡ ±Ù°ÅÇÏ´Â ±¸ÇöÀÔ´Ï´Ù. ÀÌ ±¸ÇöÀº MAP¿¡ °ü·ÃÇÏ´Â ¿É¼ÇÀÇ ¿ÀÆÛ·¹À̼ÇÀ» ¸ðµÎ ¼Æ÷Æ®ÇØ,null Ä¡ ¹× null ۸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. HashMap Ŭ·¡½º´Â Hashtable ·Î °°ÀºÀ̶ó°í ºÁµµ ±¦Âú½À´Ï´Ù°¡,HashMap ´Â µ¿±â°¡ ÃëÇØÁöÁö ¾Ê°í null ÀÇ °æ¿ìµµ ÀÖ½À´Ï´Ù. ÀÌ Å¬·¡½º´Â MAPÀÇ ¼ø¼¿¡ ´ëÇØ¼´Â ÇÁ·ÎÅØ¼ÇÇÏÁö ¾Ê½À´Ï´Ù. ƯÈ÷, ¾î´À ±â°£¿¡ °ÉÃÄ ÀÏÁ¤ÇÑ ¼ø¼¸¦ À¯ÁöÇÏ´Â °ÍÀ» ÇÁ·ÎÅØ¼ÇÇÏÁö ¾Ê½À´Ï´Ù.
ÀÌ ±¸ÇöÀº ÇØ½¬ ÇÔ¼ö°¡ º¹¼öÀÇ ¹öŶÀ¸·Î ¿ä¼Ò¸¦ ÀûÀýÈ÷ ºÐ»ê½ÃŰ´Â °ÍÀ» »óÁ¤ÇØ, ±âº» ¿ÀÆÛ·¹ÀÌ¼Ç (get ¹× put)À¸·Î ÀÏÁ¤½Ã°£ÀÇ ¼º´ÉÀ» Á¦°øÇÕ´Ï´Ù. ÄÚ·¹Å©¼ÇºäÀÇ ¹Ýº¹ 󸮿¡¼´Â HashMap ÀÇ ÀνºÅϽºÀÇ ¡¸¿ë·®¡¹(¹öŶ¼ö)°ú ±× »çÀÌÁî (Ű¿Í °ªÀÇ ¸ÅÇÎÀÇ ¼ö)ÀÇ ÇÕ°è ¿¡ ºñ·ÊÇÑ ½Ã°£ÀÌ ÇÊ¿äÇÕ´Ï´Ù. µû¶ó¼, ¹Ýº¹ ó¸®ÀÇ ¼º´ÉÀÌ Áß¿äÇÑ °æ¿ì´Â Ãʱ⠿뷮À» ³Ê¹« ³ô°Ô (¶Ç´Â ºÎÇÏ °è¼ö¸¦ ³Ê¹« ³·°Ô) ¼³Á¤ÇÏÁö ¾Ê´Â °ÍÀÌ Áß¿äÇÕ´Ï´Ù.
HashMap ÀÇ ÀνºÅϽº¿¡´Â ±× ¼º´É¿¡ ¿µÇâÀ» ÁÖ´Â 2 °³ÀÇ ÆÄ¶ó¹ÌÅÍ ¡¸Ãʱ⠿뷮¡¹ ¹× ¡¸ºÎÇÏ °è¼ö¡¹°¡ ÀÖ½À´Ï´Ù. ¡¸¿ë·®¡¹Àº ÇØ½Ã Å×À̺íÀÇ ¹öŶ¼öÀ̸ç, Ãʱ⠿뷮Àº ´Ü¼øÇÏ°Ô ÇØ½Ã Å×À̺íÀÌ ÀÛ¼ºµÈ ½ÃÁ¡¿¡¼ÀÇ ¿ë·®ÀÔ´Ï´Ù. ¡¸ºÎÇÏ °è¼ö¡¹´Â ÇØ½Ã Å×À̺íÀÌ ¾î´À Á¤µµ °¡µæ µÇ¸é(ÀÚ), ÇØ½Ã Å×À̺íÀÇ ¿ë·®ÀÌ ÀÚµ¿ÀûÀ¸·Î Áõ°¡µÉ±îÀÇ ±âÁØÀÔ´Ï´Ù. ÇØ½Ã Å×ÀÌºí ¿£Æ®¸®¼ö°¡ ºÎÇÏ °è¼ö¿Í ÇöÀçÀÇ ¿ë·®ÀÇ ÀûÀ» ³ÑÀ¸¸é(ÀÚ), ¿ë·®Àº rehash ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â °ÍÀ¸·Î ¾à 2 ¹è°¡ µË´Ï´Ù.
´ëºÎºÐÀÇ °æ¿ì, µðÆúÆ®ÀÇ ºÎÇÏ °è¼ö (. 75)¿¡¼´Â ½Ã°£ ÄÚ½ºÆ®¿Í ½ºÆäÀ̽º ÄÚ½ºÆ®ÀÇ ±ÕÇüÀ» ÃëÇÕ´Ï´Ù. ÀÌ °ªÀ» Å©°Ô Çϸé(ÀÚ), ½ºÆäÀ̽ºÀÇ ¿À¹öÇìµå°¡ °¨¼ÒÇÕ´Ï´Ù¸¸, ÂüÁ¶ ÄÚ½ºÆ®°¡ Áõ°¡ÇØ,get ¹× put ¸¦ Æ÷ÇÔÇÑ HashMap Ŭ·¡½ºÀÇ ´ëºÎºÐÀÇ ¿ÀÆÛ·¹À̼ÇÀÌ ¿µÇâÀ» ¹Þ½À´Ï´Ù. Ãʱ⠿뷮À» ¼³Á¤ÇÒ ¶§´Â rehash ¿ÀÆÛ·¹À̼ÇÀÇ È¸¼ö¸¦ ÃÖ¼ÒÇÑÀ¸·Î ¾ïÁ¦Çϱâ À§Çؼ(¶§¹®¿¡), MAPÀÇ ¿£Æ®¸® ¿¹Á¤¼ö ¹× ºÎÇÏ °è¼ö¸¦ °í·ÁÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. Ãʱ⠿뷮ÀÌ, ¿£Æ®¸®ÀÇ ÃÖ´ë¼ö¸¦ ºÎÇÏ °è¼ö·Î ³ª´« °ªº¸´Ù Å« °æ¿ì,rehash ¿ÀÆÛ·¹À̼ÇÀº ÀϾÁö ¾Ê½À´Ï´Ù.
HashMap ÀÇ ÀνºÅϽº¿¡ ¸¹Àº ¸ÅÇÎÀÌ ÀúÀåµÇ´Â °æ¿ì´Â ÀÌ Å×À̺íÀÇ ÀÛ¼º½Ã¿¡ ÃæºÐÇÑ Å©±âÀÇ ¿ë·®À» ¼³Á¤Çϸé(ÀÚ), Çʿ信 µû¶ó¼ ÇØ½Ã¸¦ ÀÚµ¿ÀûÀ¸·Î ´Ù½Ã ÇØ Å×À̺íÀ» Å©°Ô ÇÏ´Â °Íº¸´Ùµµ, ¸ÅÇÎÀ» º¸´Ù È¿À²ÀûÀ¸·Î ÀúÀåÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ ±¸ÇöÀº µ¿±âÈ µÇÁö ¾Ê½À´Ï´Ù. º¹¼öÀÇ thread°¡ µ¿½Ã¿¡ ÀÌ MAP¿¡ ¾×¼¼½º ÇØ, ±×·¯ÇÑ threadÀÇ Àû¾îµµ 1 krÀÌ ±¸Á¶ÀûÀ¸·Î MAP¸¦ º¯°æÇÏ´Â °æ¿ì¿¡´Â ¿ÜºÎ¿¡¼ µ¿±â¸¦ ÀâÀ» Çʿ䰡 ÀÖ½À´Ï´Ù. ±¸Á¶ÀûÀÎ º¯°æÀ̶õ, 1 kr ÀÌ»óÀÇ ¸ÅÇÎÀ» Ãß°¡ ¶Ç´Â »èÁ¦ÇÏ´Â ¿ÀÆÛ·¹À̼ÇÀÔ´Ï´Ù. ¹ú½á ÀνºÅϽº¿¡ ÀúÀåµÇ°í Àִ Ű¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ¾ú´ø °ªÀ» º¯°æÇÏ´Â °ÍÀº ±¸Á¶ÀûÀÎ º¯°æÀÌ ¾Æ´Õ´Ï´Ù. Åë»ó, MAPÀÇ µ¿±â¸¦ ÀâÀ¸·Á¸é , MAP¸¦ ÀÚ¿¬½º·´°Ô ĸ½¶ÈÇÏ´Â ¿ÀºêÁ§Æ®·Î µ¿±â¸¦ Àâ½À´Ï´Ù. ±×·¯ÇÑ ¿ÀºêÁ§Æ®°¡ ¾ø´Â °æ¿ì¿¡´Â Collections.synchronizedMap ¸Þ¼Òµå¸¦ »ç¿ëÇØ MAP¸¦ ¡¸·¦¡¹ÇÕ´Ï´Ù. À̰ÍÀº MAP¿¡ÀÇ ¿ì¹ßÀûÀÎ ºñµ¿±â ¾×¼¼½º¸¦ ¸·±â À§Çؼ(¶§¹®¿¡), ÀÛ¼º½Ã¿¡ ½Ç½ÃÇÏ´Â °ÍÀÌ ÃÖÀûÀÔ´Ï´Ù.
Map m = Collections.synchronizedMap(new HashMap(...));
ÀÌ Å¬·¡½ºÀÇ ¸ðµç ¡¸ÄÚ·¹Å©¼Çºä¸Þ¼Úµå¡¹¿¡ ÀÇÇØ µ¹·ÁÁÖ¾îÁö´Â ¹Ýº¹ÀÚ´Â ¡¸ÆäÀ̸£ÆÄ½ºÆ®¡¹ÀÔ´Ï´Ù. ¹Ýº¹ÀÚÀÇ ÀÛ¼º ÈÄ¿¡, ¹Ýº¹ÀÚ ÀÚüÀÇ remove ¸Þ¼Òµå ¶Ç´Â add ¸Þ¼Òµå ÀÌ¿Ü ¹æ¹ýÀ¸·Î MAP¸¦ ±¸Á¶ÀûÀ¸·Î º¯°æÇϸé(ÀÚ), ¹Ýº¹ÀÚ´Â ConcurrentModificationException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù. µû¶ó¼, µ¿½Ã º¯°æÀ» Çϸé(ÀÚ), ¹Ýº¹ÀÚ´Â Àå·¡ÀÇ ¿¹ÃøÇÒ ¼ö ¾ø´Â ½ÃÁ¡¿¡ ÀÖ¾î ¿¹ÃøÇÒ ¼ö ¾ø´Â µ¿ÀÛÀÌ ¹ß»ýÇÏ´Â À§ÇèÀ» ȸÇÇÇϱâ À§Çؼ, Áï½Ã ÇÑÆí ¼Ø¾¾ ÀÚÁÖ(Àß) ¿¹¿Ü¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
¹Ýº¹ÀÚÀÇ ÆäÀ̸£ÆÄ½ºÆ® µ¿ÀÛÀº ±×´ë·ÎÀÇ »óŸ¦ ÇÁ·ÎÅØ¼ÇÇÒ ¼ö ¾ø½À´Ï´Ù. ÀϹÝÀûÀ¸·Î, ºñµ¿±âÀÇ µ¿½Ã º¯°æÀÌ ÀÖ´Â °¡¿îµ¥ ÇÁ·ÎÅØ¼ÇÇÏ´Â °ÍÀº ºÒ°¡´ÉÇÕ´Ï´Ù. ÆäÀ̸£ÆÄ½ºÆ® ¹Ýº¹ÀÚ´Â ÃÖ¼±ÀÎ »óÅ·ΠConcurrentModificationException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù. ¹Ýº¹ÀÚÀÇ ÆäÀ̸£ÆÄ½ºÆ® µ¿ÀÛÀº ¹ö±×ÀÇ °ËÃâ (À») À§Çؼ¸¸ »ç¿ëÇÕ´Ï´Ù.
Object.hashCode()
,
Collection
,
Map
,
TreeMap
,
Hashtable
,
Á÷·ÄÈ µÈ Çü½Ä ÁßøµÈ Ŭ·¡½ºÀÇ °³¿ä |
Ŭ·¡½º java.util. Map À» »ó¼Ó¹ÞÀº ÁßøµÈ Ŭ·¡½º |
Map.Entry |
»ý¼ºÀÚÀÇ °³¿ä | |
HashMap ()
µðÆúÆ®ÀÇ Ãʱ⠿뷮 (16)°ú µðÆúÆ®ÀÇ ºÎÇÏ °è¼ö (0.75)·Î ÇÏ´ÃÀÇ HashMap ¸¦ ÀÛ¼ºÇÕ´Ï´Ù. |
|
HashMap (int initialCapacity)
ÁöÁ¤µÈ Ãʱ⠿뷮°ú µðÆúÆ®ÀÇ ºÎÇÏ °è¼ö (0.75)·Î ÇÏ´ÃÀÇ HashMap ¸¦ ÀÛ¼ºÇÕ´Ï´Ù. |
|
HashMap (int initialCapacity,
float loadFactor)
ÁöÁ¤µÈ Ãʱ⠿뷮°ú ºÎÇÏ °è¼ö·Î ÇÏ´ÃÀÇ HashMap ¸¦ ÀÛ¼ºÇÕ´Ï´Ù. |
|
HashMap (Map m)
ÁöÁ¤µÈ Map ¿Í °°Àº ¸ÅÇÎÀ¸·Î ½Å±Ô HashMap ¸¦ ÀÛ¼ºÇÕ´Ï´Ù. |
¸Þ¼ÒµåÀÇ °³¿ä | |
void |
clear ()
¸ðµç ¸ÅÇÎÀ» MAP·ÎºÎÅÍ »èÁ¦ÇÕ´Ï´Ù. |
Object |
clone ()
HashMap ÀÇ ÀνºÅϽºÀÇ »þ·ÎÄÚÇǸ¦ µ¹·ÁÁÝ´Ï´Ù. |
boolean |
containsKey (Object key)
MAP°¡ ÁöÁ¤ÀÇ Å°ÀÇ ¸ÅÇÎÀ» º¸°ü À¯ÁöÇÏ´Â °æ¿ì¿¡ true ¸¦ µ¹·ÁÁÝ´Ï´Ù. |
boolean |
containsValue (Object value)
MAP°¡ 1 °³ ¶Ç´Â º¹¼öÀÇ Å°¿Í ÁöÁ¤µÈ °ªÀ» ¸ÅÇÎ Çϰí ÀÖ´Â °æ¿ì¿¡ true ¸¦ µ¹·ÁÁÝ´Ï´Ù. |
Set |
entrySet ()
MAP¿¡ ÀúÀåµÇ°í ÀÖ´Â ¸ÅÇÎÀÇ ÄÚ·¹Å©¼Çºä¸¦ µ¹·ÁÁÝ´Ï´Ù. |
Object |
get (Object key)
ÀÌ ½Äº° Á¤º¸ ÇØ½Ã MAP·Î ÁöÁ¤µÈ Ű¿¡ MAP µÇ°í ÀÖ´Â °ªÀ» µ¹·ÁÁÝ´Ï´Ù. |
boolean |
isEmpty ()
MAP°¡ Ű¿Í °ªÀÇ ¸ÅÇÎÀ» º¸°ü À¯ÁöÇÏÁö ¾Ê´Â °æ¿ì¿¡ true ¸¦ µ¹·ÁÁÝ´Ï´Ù. |
Set |
keySet ()
MAP¿¡ ÀúÀåµÇ°í Àִ ŰÀÇ ¼ÂÆ®ºä¸¦ µ¹·ÁÁÝ´Ï´Ù. |
Object |
put (Object key,
Object value)
ÁöÁ¤ÀÇ °ª°ú ÁöÁ¤µÈ ۸¦ ÀÌ MAP¿¡ °ü·ÃÁþ½À´Ï´Ù. |
void |
putAll (Map t)
ÁöÁ¤ÀÇ MAP·ÎºÎÅÍ ¸ðµç ¸ÅÇÎÀ» MAP¿¡ Ä«ÇÇÇÕ´Ï´Ù. |
Object |
remove (Object key)
Ű¿¡ ´ëÇÑ ¸ÅÇÎÀÌ ÀÖÀ¸¸é, ±× ۸¦ MAP·ÎºÎÅÍ »èÁ¦ÇÕ´Ï´Ù. |
int |
size ()
MAP³»ÀÇ Å°Ä¡ ¸ÅÇÎÀÇ ¼ö¸¦ µ¹·ÁÁÝ´Ï´Ù. |
Collection |
values ()
MAP¿¡ ÀúÀåµÇ°í ÀÖ´Â °ªÀÇ ÄÚ·¹Å©¼Çºä¸¦ µ¹·ÁÁÝ´Ï´Ù. |
Ŭ·¡½º java.util. AbstractMap ¿¡¼ »ó¼Ó¹ÞÀº ¸Þ¼Òµå |
equals , hashCode , toString |
Ŭ·¡½º java.lang. Object ¿¡¼ »ó¼Ó¹ÞÀº ¸Þ¼Òµå |
finalize , getClass , notify , notifyAll , wait , wait , wait |
ÀÎÅÍÆäÀ̽º java.util. Map ¿¡¼ »ó¼Ó¹ÞÀº ¸Þ¼Òµå |
equals , hashCode |
»ý¼ºÀÚÀÇ »ó¼¼ |
public HashMap(int initialCapacity, float loadFactor)
initialCapacity
- Ãʱ⠿뷮loadFactor
- ºÎÇÏ °è¼ö
IllegalArgumentException
- Ãʱ⠿뷮ÀÌ ºÎÀÎÁö ºÎÇÏ °è¼ö°¡ Á¤ÀÌ ¾Æ´Ñ °æ¿ìpublic HashMap(int initialCapacity)
initialCapacity
- Ãʱ⠿뷮
IllegalArgumentException
- Ãʱ⠿뷮ÀÌ ºÎÀÇ °æ¿ìpublic HashMap()
public HashMap(Map m)
m
- ¸ÅÇÎÀÌ ÀÌ MAP¿¡ ¹èÄ¡µÇ´Â MAP
NullPointerException
- ÁöÁ¤µÈ MAP°¡ null ÀÇ °æ¿ì¸Þ¼ÒµåÀÇ »ó¼¼ |
public int size()
Map
³»ÀÇ size
AbstractMap
³»ÀÇ size
public boolean isEmpty()
Map
³»ÀÇ isEmpty
AbstractMap
³»ÀÇ isEmpty
public Object get(Object key)
Map
³»ÀÇ get
AbstractMap
³»ÀÇ get
key
- °ü·ÃÁöÀ» ¼ö ÀÖ¾ú´ø °ªÀÌ µ¹·ÁÁÖ¾îÁö´Â Ű
put(Object, Object)
public boolean containsKey(Object key)
Map
³»ÀÇ containsKey
AbstractMap
³»ÀÇ containsKey
key
- MAP¿¡ ÀÖÀ»Áö ¾î¶³Áö°¡ ÆÇÁ¤µÇ´Â Ű
public Object put(Object key, Object value)
Map
³»ÀÇ put
AbstractMap
³»ÀÇ put
key
- ÁöÁ¤µÇ´Â °ªÀ» °ü·ÃÁöÀ» ¼ö Àִ Űvalue
- ÁöÁ¤µÇ´Â Ű¿¡ °ü·ÃÁöÀ» ¼ö ÀÖ´Â °ª
public void putAll(Map t)
Map
³»ÀÇ putAll
AbstractMap
³»ÀÇ putAll
t
- MAP¿¡ ÀúÀåµÇ´Â ¸ÅÇÎ
NullPointerException
- ÁöÁ¤µÈ MAP°¡ null ÀÇ °æ¿ìpublic Object remove(Object key)
Map
³»ÀÇ remove
AbstractMap
³»ÀÇ remove
key
- ¸ÅÇÎÀÌ MAP·ÎºÎÅÍ »èÁ¦µÇ´Â Ű
public void clear()
Map
³»ÀÇ clear
AbstractMap
³»ÀÇ clear
public boolean containsValue(Object value)
Map
³»ÀÇ containsValue
AbstractMap
³»ÀÇ containsValue
value
- MAP¿¡ ÀÖÀ»Áö ¾î¶³Áö¸¦ ÆÇÁ¤µÇ´Â °ª
public Object clone()
AbstractMap
³»ÀÇ clone
public Set keySet()
Map
³»ÀÇ keySet
AbstractMap
³»ÀÇ keySet
public Collection values()
Map
³»ÀÇ values
AbstractMap
³»ÀÇ values
public Set entrySet()
Map
³»ÀÇ entrySet
AbstractMap
³»ÀÇ entrySet
Map.Entry
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
Java, Java 2 D, ¹× JDBC ´Â ¹Ì±¹ ¹× ±× ¿ÜÀÇ ³ª¶ó¿¡ ÀÖ¾î¼ÀÇ ¹Ì±¹ Sun Microsystems, Inc. ÀÇ »óÇ¥ ȤÀº µî·Ï»óÇ¥ÀÔ´Ï´Ù.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.