JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.util
Ŭ·¡½º HashSet

java.lang.Object 
  |
  +--java.util.AbstractCollection 
        |
        +--java.util.AbstractSet 
              |
              +--java.util.HashSet
¸ðµç ±¸Çö ÀÎÅÍÆäÀ̽º:
Cloneable , Collection , Serializable , Set
Á÷°èÀÇ ±âÁ¸ÀÇ ¼­ºê Ŭ·¡½º:
JobStateReasons , LinkedHashSet

public class HashSet
extends AbstractSet
implements Set , Cloneable , Serializable

ÀÌ Å¬·¡½º´Â ÇØ½Ã Å×À̺í (½ÇÁ¦·Î´Â HashMap ÀÇ ÀνºÅϽº)À» ±âº»À¸·Î ÇØ,Set ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÕ´Ï´Ù. ÀÌ Å¬·¡½º¿¡¼­´Â ¼¼Æ®ÀÇ ¹Ýº¹ ¼ø¼­¿¡ ´ëÇØ ÇÁ·ÎÅØ¼ÇÇÏÁö ¾Ê½À´Ï´Ù. ƯÈ÷, ±× ¼ø¼­¸¦ ÀÏÁ¤¿¡ À¯ÁöÇÏ´Â °ÍÀ» ÇÁ·ÎÅØ¼ÇÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ Å¬·¡½º´Â null ¿ä¼Ò¸¦ Çã¿ë ÇÕ´Ï´Ù.

ÀÌ Å¬·¡½º´Â ÇØ½¬ ÇÔ¼ö°¡ º¹¼öÀÇ ¹öŶÀ¸·Î ÀûÀýÈ÷ ¿ä¼Ò¸¦ ºÐ»êÇÏ´Â °ÍÀ» ÀüÁ¦·Î¼­ ±âº»ÀÇ ¿ÀÆÛ·¹ÀÌ¼Ç (add,remove,contains, ¹× size)À¸·Î ÀÏÁ¤½Ã°£ÀÇ ¼º´ÉÀ» Á¦°øÇÕ´Ï´Ù. ¼¼Æ®ÀÇ ¹Ýº¹ 󸮿¡¼­´Â HashSet ÀÇ ÀνºÅϽºÀÇ »çÀÌÁî (¿ä¼Ò¼ö)¿Í ±â°¡ µÇ´Â HashMap ÀÇ ÀνºÅϽºÀÇ ¡¸¿ë·®¡¹(¹öŶ¼ö)ÀÇ ÇÕ°è ¿¡ ºñ·ÊÇÑ ½Ã°£ÀÌ ÇÊ¿äÇÕ´Ï´Ù. µû¶ó¼­, ¹Ýº¹ ó¸®ÀÇ ¼º´ÉÀÌ Áß¿äÇÑ °æ¿ì´Â Ãʱ⠿뷮À» ³Ê¹« ³ô°Ô (ºÎÇÏ °è¼ö¸¦ ³Ê¹« ³·°Ô) ¼³Á¤ÇÏÁö ¾Ê´Â °ÍÀÌ ¸Å¿ì Áß¿äÇÕ´Ï´Ù.

ÀÌ ±¸ÇöÀº µ¿±âÈ­ µÇÁö ¾Ê½À´Ï´Ù. º¹¼öÀÇ thread°¡ µ¿½Ã¿¡ ¼¼Æ®¿¡ ¾×¼¼½º ÇØ, ±×·¯ÇÑ threadÀÇ Àû¾îµµ 1 krÀÌ ¼¼Æ®¸¦ º¯°æÇÏ´Â °æ¿ì´Â ¿ÜºÎ¿¡¼­ µ¿±â¸¦ ÀâÀ» Çʿ䰡 ÀÖ½À´Ï´Ù. Åë»ó, ±×°ÍÀº ¼¼Æ®¸¦ ÀÚ¿¬½º·´°Ô ĸ½¶È­ÇÏ´Â ¿ÀºêÁ§Æ®·Î µ¿±â¸¦ Àâ´Â °Í¿¡ ÀÇÇØ ´Þ¼ºµË´Ï´Ù. ±×·¯ÇÑ ¿ÀºêÁ§Æ®°¡ ¾ø´Â °æ¿ì¿¡´Â Collections.synchronizedSet ¸Þ¼Òµå¸¦ »ç¿ëÇØ ¼¼Æ®¸¦ ¡¸·¦¡¹ÇÕ´Ï´Ù. À̰ÍÀº HashSet ¿¡ÀÇ ¿ì¹ßÀûÀÎ ºñµ¿±â ¾×¼¼½º¸¦ ¸·±â À§Çؼ­(¶§¹®¿¡), ÀÛ¼º½Ã¿¡ ½Ç½ÃÇÏ´Â °ÍÀÌ ÃÖÀûÀÔ´Ï´Ù.

     Set s = Collections.synchronizedSet(new HashSet(...));

ÀÌ Å¬·¡½ºÀÇ iterator ¸Þ¼Òµå¿¡ ÀÇÇØ µ¹·ÁÁÖ¾îÁö´Â ¹Ýº¹ÀÚ´Â ¡¸ÆäÀ̸£ÆÄ½ºÆ®¡¹ÀÔ´Ï´Ù. ¹Ýº¹ÀÚ°¡ ÀÛ¼ºµÈ µÚ¿¡, ¹Ýº¹ÀÚ µ¶ÀÚÀûÀÎ remove ¸Þ¼Òµå ÀÌ¿Ü ¹æ¹ýÀ¸·Î ¼¼Æ®°¡ º¯°æµÇ¾úÀ» °æ¿ì, ¹Ýº¹ÀÚ´Â ConcurrentModificationException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù. µû¶ó¼­, µ¿½Ã º¯°æÀ» Çϸé(ÀÚ), ¹Ýº¹ÀÚ´Â Àå·¡ÀÇ ¿¹ÃøÇÒ ¼ö ¾ø´Â ½ÃÁ¡¿¡ ÀÖ¾î ¿¹ÃøÇÒ ¼ö ¾ø´Â µ¿ÀÛÀÌ ¹ß»ýÇÏ´Â À§ÇèÀ» ȸÇÇÇϱâ À§Çؼ­, Áï½Ã ÇÑÆí ¼Ø¾¾ ÀÚÁÖ(Àß) ¿¹¿Ü¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.

Åë»ó, ºñµ¿±âÀÇ µ¿½Ã º¯°æÀÌ ÀÖ´Â °æ¿ì, È®½ÇÇÑ ÇÁ·ÎÅØ¼ÇÀ» ½Ç½ÃÇÏ´Â °ÍÀº ºÒ°¡´ÉÇØ¼­, ¹Ýº¹ÀÚÀÇ ÆäÀ̸£ÆÄ½ºÆ®ÀÇ µ¿ÀÛÀ» ÇÁ·ÎÅØ¼ÇÇÒ ¼ö ¾ø½À´Ï´Ù. ÆäÀ̸£ÆÄ½ºÆ® ¹Ýº¹ÀÚ´Â ÃÖ¼± ³ë·Â ¿øÄ¢¿¡ ±Ù°ÅÇØ,ConcurrentModificationException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù. µû¶ó¼­, Á¤È®À» ±âÇϱâ À§Çؼ­ ÀÌ ¿¹¿Ü¿¡ ÀÇÁ¸ÇÏ´Â ÇÁ·Î±×·¥À» ¾²´Â °ÍÀº À߸øÀÔ´Ï´Ù. ¡¸¹Ýº¹ÀÚÀÇ ÆäÀ̸£ÆÄ½ºÆ®ÀÇ µ¿ÀÛÀº ¹ö±×¸¦ °ËÃâÇϱâ À§Çؼ­ ¸¶¼Å »ç¿ëÇØ¾ß ÇÕ´Ï´Ù¡¹

µµÀÔµÈ ¹öÁ¯:
1.2
°ü·Ã Ç׸ñ:
Collection , Set , TreeSet , Collections.synchronizedSet(Set) , HashMap , Á÷·ÄÈ­ µÈ Çü½Ä

»ý¼ºÀÚÀÇ °³¿ä
HashSet ()
          »õ·Î¿î Çϴü¼Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
HashSet (Collection  c)
          ÁöÁ¤µÈ ÄÝ·º¼ÇÀÇ ¿ä¼Ò¸¦ ÀúÀåÇÏ´Â ½Å±Ô ¼¼Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
HashSet (int initialCapacity)
          »õ·Î¿î Çϴü¼Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
HashSet (int initialCapacity, float loadFactor)
          »õ·Î¿î Çϴü¼Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
 
¸Þ¼ÒµåÀÇ °³¿ä
 boolean add (Object  o)
          ÁöÁ¤µÈ ¿ä¼Ò°¡ ¼¼Æ®ÀÇ ¿ä¼Ò·Î¼­ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì¿¡, ±× ¿ä¼Ò¸¦ ¼¼Æ®¿¡ Ãß°¡ÇÕ´Ï´Ù.
 void clear ()
          ¸ðµç ¿ä¼Ò¸¦ ¼¼Æ®·ÎºÎÅÍ »èÁ¦ÇÕ´Ï´Ù.
 Object clone ()
          HashSet ÀÇ ÀνºÅϽºÀÇ »þ·ÎÄÚÇǸ¦ µ¹·ÁÁÝ´Ï´Ù.
 boolean contains (Object  o)
          ¼¼Æ®°¡, ÁöÁ¤µÈ ¿ä¼Ò¸¦ º¸°ü À¯ÁöÇϰí ÀÖ´Â °æ¿ì¿¡ true ¸¦ µ¹·ÁÁÝ´Ï´Ù.
 boolean isEmpty ()
          ¼¼Æ®°¡ ¿ä¼Ò¸¦ 1 °³³ª º¸°ü À¯ÁöÇϰí ÀÖÁö ¾Ê´Â °æ¿ì¿¡ true ¸¦ µ¹·ÁÁÝ´Ï´Ù.
 Iterator iterator ()
          ¼¼Æ®ÀÇ ¿ä¼ÒÀÇ ¹Ýº¹ÀÚ¸¦ µ¹·ÁÁÝ´Ï´Ù.
 boolean remove (Object  o)
          ÁöÁ¤µÈ ¿ä¼Ò°¡ ÀÖÀ¸¸é ¼¼Æ®·ÎºÎÅÍ »èÁ¦ÇÕ´Ï´Ù.
 int size ()
          ¼¼Æ®³»ÀÇ ¿ä¼Ò¼ö (±× Ä«µð³ª¸®Æ¼)¸¦ µ¹·ÁÁÝ´Ï´Ù.
 
Ŭ·¡½º java.util. AbstractSet ¿¡¼­ »ó¼Ó¹ÞÀº ¸Þ¼Òµå
equals , hashCode , removeAll
 
Ŭ·¡½º java.util. AbstractCollection ¿¡¼­ »ó¼Ó¹ÞÀº ¸Þ¼Òµå
addAll , containsAll , retainAll , toArray , toArray , toString
 
Ŭ·¡½º java.lang. Object ¿¡¼­ »ó¼Ó¹ÞÀº ¸Þ¼Òµå
finalize , getClass , notify , notifyAll , wait , wait , wait
 
ÀÎÅÍÆäÀ̽º java.util. Set ¿¡¼­ »ó¼Ó¹ÞÀº ¸Þ¼Òµå
addAll , containsAll , equals , hashCode , removeAll , retainAll , toArray , toArray
 

»ý¼ºÀÚÀÇ »ó¼¼

HashSet

public HashSet()
»õ·Î¿î Çϴü¼Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù. ±â°¡ µÇ´Â HashMap ÀÇ ÀνºÅϽº´Â µðÆúÆ®ÀÇ Ãʱ⠿뷮 (16) ¹× ºÎÇÏ °è¼ö (0.75)¸¦ °¡Áý´Ï´Ù.


HashSet

public HashSet(Collection  c)
ÁöÁ¤µÈ ÄÝ·º¼ÇÀÇ ¿ä¼Ò¸¦ ÀúÀåÇÏ´Â ½Å±Ô ¼¼Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù. µðÆúÆ®ÀÇ ºÎÇÏ °è¼ö (0.75) , ¹× ÁöÁ¤µÈ ÄÝ·º¼ÇÀÇ ¿ä¼Ò¸¦ ÀúÀåÇϴµ¥ ÃæºÐÇÑ Ãʱ⠿뷮¿¡ ÀÇÇØ,HashMap ´Â ÀÛ¼ºµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
c - ¿ä¼Ò°¡ ¼¼Æ®¿¡ ¹èÄ¡µÇ´Â ÄÝ·º¼Ç
¿¹¿Ü:
@exception - NullPointerException ÁöÁ¤µÈ ÄÝ·º¼ÇÀÌ null ÀÎ °æ¿ì

HashSet

public HashSet(int initialCapacity,
               float loadFactor)
»õ·Î¿î Çϴü¼Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù. ±â°¡ µÇ´Â HashMap ÀÇ ÀνºÅϽº´Â ÁöÁ¤µÈ Ãʱ⠿뷮 ¹× ÁöÁ¤µÈ ºÎÇÏ °è¼ö¸¦ °¡Áý´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
initialCapacity - ÇØ½Ã MAPÀÇ Ãʱ⠿뷮
loadFactor - ÇØ½Ã MAPÀÇ ºÎÇÏ °è¼ö
¿¹¿Ü:
@exception - IllegalArgumentException Ãʱ⠿뷮ÀÌ 0 º¸´Ù ÀÛÀºÁö ºÎÇÏ °è¼ö°¡ Á¤ÀÇ °ªÀÌ ¾Æ´Ñ °æ¿ì

HashSet

public HashSet(int initialCapacity)
»õ·Î¿î Çϴü¼Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù. ±â°¡ µÇ´Â HashMap ÀÇ ÀνºÅϽº´Â ÁöÁ¤µÈ Ãʱ⠿뷮 ¹× µðÆúÆ®ÀÇ ºÎÇÏ °è¼ö (0.75)¸¦ °¡Áý´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
initialCapacity - ÇØ½Ã Å×À̺íÀÇ Ãʱ⠿뷮
¿¹¿Ü:
@exception - IllegalArgumentException Ãʱ⠿뷮ÀÌ 0 º¸´Ù ÀÛÀº °æ¿ì
¸Þ¼ÒµåÀÇ »ó¼¼

iterator

public Iterator  iterator()
¼¼Æ®ÀÇ ¿ä¼ÒÀÇ ¹Ýº¹ÀÚ¸¦ µ¹·ÁÁÝ´Ï´Ù. ¿ä¼Ò°¡ µ¹·ÁÁÖ¾îÁú ¶§ ƯÁ¤ÀÇ ¼ø¼­´Â ¾ø½À´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Set ³»ÀÇ iterator
Á¤ÀÇ:
Ŭ·¡½º AbstractCollection ³»ÀÇ iterator
¹Ýȯ°ª:
¼¼Æ®ÀÇ ¿ä¼ÒÀÇ Iterator
°ü·Ã Ç׸ñ:
ConcurrentModificationException

size

public int size()
¼¼Æ®³»ÀÇ ¿ä¼Ò¼ö (±× Ä«µð³ª¸®Æ¼)¸¦ µ¹·ÁÁÝ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Set ³»ÀÇ size
Á¤ÀÇ:
Ŭ·¡½º AbstractCollection ³»ÀÇ size
¹Ýȯ°ª:
¼¼Æ®³»ÀÇ ¿ä¼Ò¼ö (±× Ä«µð³ª¸®Æ¼)

isEmpty

public boolean isEmpty()
¼¼Æ®°¡ ¿ä¼Ò¸¦ 1 °³³ª º¸°ü À¯ÁöÇϰí ÀÖÁö ¾Ê´Â °æ¿ì¿¡ true ¸¦ µ¹·ÁÁÝ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Set ³»ÀÇ isEmpty
¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º AbstractCollection ³»ÀÇ isEmpty
¹Ýȯ°ª:
¼¼Æ®°¡ ¿ä¼Ò¸¦ 1 °³³ª º¸°ü À¯ÁöÇϰí ÀÖÁö ¾Ê´Â °æ¿ì´Â true

contains

public boolean contains(Object  o)
¼¼Æ®°¡, ÁöÁ¤µÈ ¿ä¼Ò¸¦ º¸°ü À¯ÁöÇϰí ÀÖ´Â °æ¿ì¿¡ true ¸¦ µ¹·ÁÁÝ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Set ³»ÀÇ contains
¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º AbstractCollection ³»ÀÇ contains
ÆÄ¶ó¹ÌÅÍ:
o - ¼¼Æ®¿¡ ÀÖÀ»Áö ¾î¶³Áö¸¦ Á¶»çÇÏ´Â ¿ä¼Ò
¹Ýȯ°ª:
¼¼Æ®°¡, ÁöÁ¤µÈ ¿ä¼Ò¸¦ º¸°ü À¯ÁöÇϰí ÀÖ´Â °æ¿ì´Â true

add

public boolean add(Object  o)
ÁöÁ¤µÈ ¿ä¼Ò°¡ ¼¼Æ®ÀÇ ¿ä¼Ò·Î¼­ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì¿¡, ±× ¿ä¼Ò¸¦ ¼¼Æ®¿¡ Ãß°¡ÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Set ³»ÀÇ add
¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º AbstractCollection ³»ÀÇ add
ÆÄ¶ó¹ÌÅÍ:
o - ¼¼Æ®¿¡ Ãß°¡µÇ´Â ¿ä¼Ò
¹Ýȯ°ª:
¼¼Æ®°¡ ÁöÁ¤µÈ ¿ä¼Ò¸¦ º¸°ü À¯ÁöÇϰí ÀÖÁö ¾Ê¾Ò´ø °æ¿ì´Â true

remove

public boolean remove(Object  o)
ÁöÁ¤µÈ ¿ä¼Ò°¡ ÀÖÀ¸¸é ¼¼Æ®·ÎºÎÅÍ »èÁ¦ÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Set ³»ÀÇ remove
¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º AbstractCollection ³»ÀÇ remove
ÆÄ¶ó¹ÌÅÍ:
o - ¼¼Æ®¿¡ ÀÖÀ¸¸é »èÁ¦µÇ´Â ¿ÀºêÁ§Æ®
¹Ýȯ°ª:
ÁöÁ¤µÈ ¿ä¼Ò°¡ ¼¼Æ®³»¿¡ ÀÖ¾úÀ» °æ¿ì´Â true

clear

public void clear()
¸ðµç ¿ä¼Ò¸¦ ¼¼Æ®·ÎºÎÅÍ »èÁ¦ÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Set ³»ÀÇ clear
¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º AbstractCollection ³»ÀÇ clear

clone

public Object  clone()
HashSet ÀÇ ÀνºÅϽºÀÇ »þ·ÎÄÚÇǸ¦ µ¹·ÁÁÝ´Ï´Ù. ¿ä¼Ò ÀÚü´Â º¹Á¦µÇÁö ¾Ê½À´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ clone
¹Ýȯ°ª:
ÀÌ ¼¼Æ®ÀÇ »þ·ÎÄÚÇÇ
°ü·Ã Ç׸ñ:
Cloneable

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

¹ö±×ÀÇ º¸°í¿Í ±â´ÉÀÇ ¸®Äù½ºÆ®
ÀÌ¿ÜÀÇ API ·¹ÆÛ·±½º ¹× °³¹ßÀÚ¿ë ¹®¼­¿¡ ´ëÇØ¼­´Â Java 2 SDK SE °³¹ßÀÚ¿ë ¹®¼­¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä. °³¹ßÀÚÀü¿ëÀÇ »ó¼¼ÇÑ ÇØ¼³, °³³äÀÇ °³¿ä, ¿ë¾îÀÇ Á¤ÀÇ, ¹ö±×ÀÇ È¸ÇÇÃ¥, ¹× ÄÚµå ½Ç·Ê°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.

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.