JavaTM 2 Platform
Standard Ed. 5.0

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

java.lang.Object 
  »óÀ§¸¦ È®Àå java.util.AbstractCollection <E>
      »óÀ§¸¦ È®Àå java.util.AbstractSet <E>
          »óÀ§¸¦ È®Àå java.util.HashSet <E>
              »óÀ§¸¦ È®Àå java.util.LinkedHashSet<E>
¸ðµç ±¸ÇöµÈ ÀÎÅÍÆäÀ̽º:
Serializable, Cloneable, Iterable <E>, Collection <E>, Set <E>

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

¿¹Ãø °¡´ÉÇÑ ¹Ýº¹ ¼ø¼­¸¦ °¡Áö´Â Set ÀÎÅÍÆäÀ̽ºÀÇ Çؽà Å×À̺í°ú ¸µÅ© ¸®½ºÆ®ÀÇ ±¸ÇöÀÔ´Ï´Ù. ÀÌ ±¸ÇöÀº ¸ðµç ±¸ÇöÀÇ ¿£Æ®¸®¸¦ °ÅÄ¡´Â ÀÌÁßÀÇ ¸µÅ© ¸®½ºÆ®¸¦ º¸°ü À¯ÁöÇÑ´Ù°í ÇÏ´Â Á¡À¸·Î½á, HashSet¿Í´Â ´Ù¸¨´Ï´Ù. ¸µÅ© ¸®½ºÆ®´Â ¹Ýº¹ ¼ø¼­¸¦ Á¤ÀÇÇÕ´Ï´Ù. ÀÌ ¼ø¼­´Â ¿ä¼Ò°¡ ¼¼Æ®¿¡ »ðÀÔµÈ ¼ø¼­ÀÔ´Ï´Ù (»ðÀÔ¼ø¼­) . ¿ä¼Ò¸¦ ¼¼Æ®¿¡ ¡¸Àç»ðÀÔ¡¹ÇÏ´Â °æ¿ì, »ðÀÔ¼ø¼­´Â ¿µÇâÀ» ¹ÞÁö ¾Ê½À´Ï´Ù. È£ÃâÀÇ Á÷Àü¿¡ s.contains(e)°¡ true¸¦ µ¹·ÁÁÙ ¶§ s.add(e)°¡ ºÒ·Á °¬À» °æ¿ì, ¿ä¼Ò e°¡ ¼¼Æ® s¿¡ Àç»ðÀԵ˴ϴÙ.

ÀÌ ±¸Çö¿¡¼­´Â TreeSet °ü·ÃÀÇ ºÎ´ãÀÇ Áõ´ë¸¦ ÁöÁö ¾Ê°í, HashSet ¿¡ ÇÑ, ¹«ÁöÁ¤ÀÇ ÀϹÝÀûÀ¸·Î´Â ¹«Áú¼­ÇÑ ¼ø¼­·ÎºÎÅÍ Å¬¶óÀ̾ðÆ®¸¦ Áöŵ´Ï´Ù. ÀÌ ±¸ÇöÀ» »ç¿ëÇØ, ´çÃÊÀÇ ¼¼Æ®ÀÇ ±¸Çö¿¡ °ü°è¾øÀÌ, ´çÃÊÀÇ ¼¼Æ®¿Í °°Àº ¼ø¼­¸¦ °¡Áö´Â ¼¼Æ®ÀÇ º¹»çº»À» »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù .


     void foo(Set m) {
         Set copy = new LinkedHashSet(m);
         ...
     }
 
¸ðµâÀÌ ÀԷ¼¼Æ®¸¦ ÃëµæÇØ, º¹»çÇØ, Ä«ÇǼ¼Æ®°¡ ¼³Á¤ÇÑ ¼ø¼­ÀÇ °á°ú¸¦ µ¹·ÁÁÖ¾úÀ» °æ¿ì, ÀÌ ±â¼úÀº Ưº°È÷ µµ¿òÀÌ µË´Ï´Ù. ÀϹÝÀûÀ¸·Î Ŭ¶óÀ̾ðÆ®´Â Á¦½Ã¿Í °°Àº ¼ø¼­·Î ¸®ÅÏµÈ °ÍÀ» Æò°¡ÇÕ´Ï´Ù.

ÀÌ Å¬·¡½º´Â ¿É¼ÇÀÇ Set ¿ÀÆÛ·¹À̼ÇÀ» ¸ðµÎ Á¦°øÇØ, null ¿ä¼Ò¸¦ Çã¿ë ÇÕ´Ï´Ù. HashSet¿Í °°ÀÌ, Çؽ¬ ÇÔ¼ö°¡ º¹¼öÀÇ ¹öŶÀ¸·Î ÀûÀýÈ÷ ¿ä¼Ò¸¦ ºÐ»êÇÏ¸é °¡Á¤ÇØ, ±âº»ÀÇ ¿ÀÆÛ·¹ÀÌ¼Ç (add, contains ¹× remove)¿¡ ÀÏÁ¤½Ã°£ÀÇ ÆÛÆ÷¸Õ½º¸¦ Á¦°øÇÕ´Ï´Ù. ÆÛÆ÷¸Õ½º´Â 1°³ÀÇ ¿¹¿Ü¸¦ Á¦¿ÜÇØ, ¸µÅ© ¸®½ºÆ®¸¦ º¸°ü À¯ÁöÇÏ´Â ºÎ´ãÁõ°¡¿¡ÀÇÇØ HashSet ÆÛÆ÷¸Õ½ºº¸´Ù Á¶±Ý µÚ¶³¾îÁö´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. LinkedHashSet ¹Ýº¹¿¡´Â ¿ë·®¿¡ °ü°è¾øÀÌ, ¼¼Æ®ÀÇ ¡¸»çÀÌÁ¿¡ ºñ·ÊÇÑ ½Ã°£ÀÌ ÇÊ¿äÇÏ°Ô µË´Ï´Ù. HashSet ¡¸¿ë·®¡¹¿¡ ºñ·ÊÇÑ ½Ã°£À» ÇÊ¿ä·Î ÇϹǷÎHashSet ¹Ýº¹Àº ¶ÇÇÑ ºñ½Î°Ô µé ¿ì·Á°¡ ÀÖ½À´Ï´Ù.

¸µÅ© Çؽà ¼¼Æ®¿¡´Â ÆÛÆ÷¸Õ½º¿¡ ¿µÇâÀ» ÁÖ´Â ¡¸Ãʱ⠿뷮¡¹ ¹× ¡¸ºÎÇÏ °è¼ö¡¹ÀÇ 2°³ÀÇ ÆĶó¹ÌÅÍ°¡ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ÆĶó¹ÌÅÍ´Â HashSet¿¡ ´ëÇØ Á¤È®ÇÏ°Ô Á¤Àǵǰí ÀÖ½À´Ï´Ù. ´Ù¸¸, ÀÌ Å¬·¡½ºÀÇ ¹Ýº¹ ȸ¼ö´Â ¿ë·®¿¡ ÀÇÇØ ¿µÇâÀ» ¹ÞÁö ¾Ê±â ¶§¹®¿¡ Ãʱ⠿뷮¿¡ ¸Å¿ì ºñ½Ñ °ªÀ» ¼±ÅÃÇصµ, ÀÌ Å¬·¡½º¿¡¼­´Â HashSet¿¡ ºñÇØ ±×¸¸Å­ °á°ú´Â ¸÷½Ã´Â ¾ø½À´Ï´Ù.

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


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

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

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

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

µµÀÔµÈ ¹öÀü :
1.4
°ü·Ã Ç׸ñ:
Object.hashCode(), Collection, Set, HashSet, TreeSet, Hashtable, Á÷·ÄÈ­ µÈ Çü½Ä

»ý¼ºÀÚ °³¿ä
LinkedHashSet ()
          µðÆúÆ®ÀÇ Ãʱ⠿뷮 (16)°ú ºÎÇÏ °è¼ö (0.75)·Î »õ·Î¿î ºñ¾îÀÖ´Â ¸µÅ© Çؽà ¼¼Æ®¸¦ »ý¼ºÇÕ´Ï´Ù.
LinkedHashSet (Collection <? extends E > c)
          ÁöÁ¤µÈ Ä÷º¼Ç°ú °°Àº ¿ä¼Ò¿¡ ÀÇÇØ »õ·Î¿î ¸µÅ© Çؽà ¼¼Æ®¸¦ »ý¼ºÇÕ´Ï´Ù.
LinkedHashSet (int initialCapacity)
          ÁöÁ¤µÈ Ãʱ⠿뷮°ú µðÆúÆ®ÀÇ ºÎÇÏ °è¼ö (0.75)·Î »õ·Î¿î ºñ¾îÀÖ´Â ¸µÅ© Çؽà ¼¼Æ®¸¦ »ý¼ºÇÕ´Ï´Ù.
LinkedHashSet (int initialCapacity, float loadFactor)
          ÁöÁ¤µÈ Ãʱ⠿뷮°ú ºÎÇÏ °è¼ö·Î »õ·Î¿î ºñ¾îÀÖ´Â ¸µÅ© Çؽà ¼¼Æ®¸¦ »ý¼ºÇÕ´Ï´Ù.
 
¸Þ¼­µå °³¿ä
 
Ŭ·¡½º java.util. HashSet ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
add, clear, clone, contains, isEmpty, iterator, remove, 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 ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray
 

»ý¼ºÀÚ »ó¼¼

LinkedHashSet

public LinkedHashSet(int initialCapacity,
                     float loadFactor)
ÁöÁ¤µÈ Ãʱ⠿뷮°ú ºÎÇÏ °è¼ö·Î »õ·Î¿î ºñ¾îÀÖ´Â ¸µÅ© Çؽà ¼¼Æ®¸¦ »ý¼ºÇÕ´Ï´Ù.

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

LinkedHashSet

public LinkedHashSet(int initialCapacity)
ÁöÁ¤µÈ Ãʱ⠿뷮°ú µðÆúÆ®ÀÇ ºÎÇÏ °è¼ö (0.75)·Î »õ·Î¿î ºñ¾îÀÖ´Â ¸µÅ© Çؽà ¼¼Æ®¸¦ »ý¼ºÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
initialCapacity - LinkedHashSet Ãʱ⠿뷮
¿¹¿Ü:
IllegalArgumentException - Ãʱ⠿뷮ÀÌ Á¦·Îº¸´Ù ÀÛÀº °æ¿ì

LinkedHashSet

public LinkedHashSet()
µðÆúÆ®ÀÇ Ãʱ⠿뷮 (16)°ú ºÎÇÏ °è¼ö (0.75)·Î »õ·Î¿î ºñ¾îÀÖ´Â ¸µÅ© Çؽà ¼¼Æ®¸¦ »ý¼ºÇÕ´Ï´Ù.


LinkedHashSet

public LinkedHashSet(Collection <?  extends E > c)
ÁöÁ¤µÈ Ä÷º¼Ç°ú °°Àº ¿ä¼Ò¿¡ ÀÇÇØ »õ·Î¿î ¸µÅ© Çؽà ¼¼Æ®¸¦ »ý¼ºÇÕ´Ï´Ù. ÁöÁ¤µÈ Ä÷º¼Ç°ú µðÆúÆ®ÀÇ ºÎÇÏ °è¼ö (0.75)·Î ¿ä¼Ò¸¦ º¸°ü À¯ÁöÇϴµ¥ ÃæºÐÇÑ Ãʱ⠿뷮¿¡ÀÇÇØ ¸µÅ© Çؽà ¼¼Æ®°¡ ÀÛ¼ºµË´Ï´Ù.

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

JavaTM 2 Platform
Standard Ed. 5.0

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