JavaTM 2 Platform
Standard Ed. 5.0

java.util
Ŭ·¡½º HashSet<E>

java.lang.Object 
  »óÀ§¸¦ È®Àå java.util.AbstractCollection <E>
      »óÀ§¸¦ È®Àå java.util.AbstractSet <E>
          »óÀ§¸¦ È®Àå java.util.HashSet<E>
¸ðµç ±¸ÇöµÈ ÀÎÅÍÆäÀ̽º:
Serializable, Cloneable, Iterable <E>, Collection <E>, Set <E>
¾Ë·ÁÁø Á÷°è ¼­ºê Ŭ·¡½º:
JobStateReasons, LinkedHashSet

public class HashSet<E>
extends AbstractSet <E>
implements Set <E>, Cloneable, Serializable

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

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

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


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

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

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

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

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

»ý¼ºÀÚ °³¿ä
HashSet ()
          »õ·Î¿î ºó¼¼Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
HashSet (Collection <? extends E > c)
          ÁöÁ¤µÈ Ä÷º¼ÇÀÇ ¿ä¼Ò¸¦ Æ÷ÇÔÇÏ´Â »õ·Î¿î ¼¼Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
HashSet (int initialCapacity)
          »õ·Î¿î ºó¼¼Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
HashSet (int initialCapacity, float loadFactor)
          »õ·Î¿î ºó¼¼Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
 
¸Þ¼­µå °³¿ä
 boolean add (E  o)
          ÁöÁ¤µÈ ¿ä¼Ò°¡ ¼¼Æ®ÀÇ ¿ä¼Ò·Î¼­ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì¿¡ ±× ¿ä¼Ò¸¦ ¼¼Æ®¿¡ Ãß°¡ÇÕ´Ï´Ù.
 void clear ()
          ¸ðµç ¿ä¼Ò¸¦ ¼¼Æ®·ÎºÎÅÍ »èÁ¦ÇÕ´Ï´Ù.
 Object clone ()
          HashSet ÀνºÅϽºÀÇ »þ·ÎÄÚÇǸ¦ ¸®ÅÏÇÕ´Ï´Ù.
 boolean contains (Object  o)
          ¼¼Æ®°¡ ÁöÁ¤µÈ ¿ä¼Ò¸¦ º¸°ü À¯ÁöÇÏ°í ÀÖ´Â °æ¿ì¿¡ true¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 boolean isEmpty ()
          ¼¼Æ®°¡ ¿ä¼Ò¸¦ 1°³ ³ª º¸°ü À¯ÁöÇÏ°í ÀÖÁö ¾Ê´Â °æ¿ì¿¡ true¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 Iterator <E > 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 <?  extends E > c)
ÁöÁ¤µÈ Ä÷º¼ÇÀÇ ¿ä¼Ò¸¦ Æ÷ÇÔÇÏ´Â »õ·Î¿î ¼¼Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù. µðÆúÆ®ÀÇ ºÎÇÏ °è¼ö (0.75) ¹× ÁöÁ¤µÈ Ä÷º¼ÇÀÇ ¿ä¼Ò¸¦ Æ÷ÇÔÇϴµ¥ ÃæºÐÇÑ Ãʱ⠿뷮¿¡ÀÇÇØ HashMap´Â ÀÛ¼ºµË´Ï´Ù.

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

HashSet

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

ÆĶó¹ÌÅÍ:
initialCapacity - Çؽà ¸ÊÀÇ Ãʱ⠿뷮
loadFactor - Çؽà ¸ÊÀÇ ºÎÇÏ °è¼ö
¿¹¿Ü:
IllegalArgumentException - Ãʱ⠿뷮ÀÌ 0 º¸´Ù ÀÛÀºÁö, ºÎÇÏ °è¼ö°¡ Á¤ÀÇ °ªÀÌ ¾Æ´Ñ °æ¿ì

HashSet

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

ÆĶó¹ÌÅÍ:
initialCapacity - Çؽà Å×À̺íÀÇ Ãʱ⠿뷮
¿¹¿Ü:
IllegalArgumentException - Ãʱ⠿뷮ÀÌ Á¦·Îº¸´Ù ÀÛÀº °æ¿ì
¸Þ¼­µåÀÇ »ó¼¼

iterator

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

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

size

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

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

isEmpty

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

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

contains

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

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

add

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

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

remove

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

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

clear

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

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

clone

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

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

JavaTM 2 Platform
Standard Ed. 5.0

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