JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.util
Ŭ·¡½º LinkedHashSet

java.lang.Object 
  |
  +--java.util.AbstractCollection 
        |
        +--java.util.AbstractSet 
              |
              +--java.util.HashSet 
                    |
                    +--java.util.LinkedHashSet
¸ðµç ±¸Çö ÀÎÅÍÆäÀ̽º:
Cloneable , Collection , Serializable , Set

public class LinkedHashSet
extends HashSet
implements Set , 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 krÀÌ ±¸Á¶ÀûÀ¸·Î ¼¼Æ®¸¦ º¯°æÇÏ´Â °æ¿ì¿¡´Â ¿ÜºÎ¿¡¼­ µ¿±â¸¦ ÀâÀ» Çʿ䰡 ÀÖ½À´Ï´Ù. Åë»ó, ±¸Á¶ÀûÀÎ º¯°æÀº ¼¼Æ®¸¦ ÀÚ¿¬½º·´°Ô ĸ½¶È­Çϴ ƯÁ¤ÀÇ ¿ÀºêÁ§Æ®·Î µ¿±â¸¦ Àâ´Â °Í¿¡ ÀÇÇØ ´Þ¼ºµË´Ï´Ù. ±×·¯ÇÑ ¿ÀºêÁ§Æ®°¡ ¾ø´Â °æ¿ì¿¡´Â Collections.synchronizedSet ¸Þ¼Òµå¸¦ »ç¿ëÇØ ¼¼Æ®¸¦ ¡¸·¦¡¹ÇÕ´Ï´Ù. À̰ÍÀº ¿ì¹ßÀûÀÎ ºñµ¿±â ¾×¼¼½º¸¦ ¸·±â À§Çؼ­(¶§¹®¿¡), ÀÛ¼º½Ã¿¡ ½Ç½ÃÇÏ´Â °ÍÀÌ ÃÖÀûÀÔ´Ï´Ù.

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

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

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

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

»ý¼ºÀÚÀÇ °³¿ä
LinkedHashSet ()
          µðÆúÆ®ÀÇ Ãʱ⠿뷮 (16)°ú ºÎÇÏ °è¼ö (0.75)·Î »õ·Î¿î ÇÏ´ÃÀÇ ¸µÅ© ÇØ½Ã ¼¼Æ®¸¦ »ý¼ºÇÕ´Ï´Ù.
LinkedHashSet (Collection  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 - Ãʱ⠿뷮ÀÌ 0 º¸´Ù ÀÛÀº °æ¿ì

LinkedHashSet

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


LinkedHashSet

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

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

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.