JavaTM 2 Platform
Standard Ed. 5.0

java.util.concurrent
Ŭ·¡½º ArrayBlockingQueue<E>

java.lang.Object 
  »óÀ§¸¦ È®Àå java.util.AbstractCollection <E>
      »óÀ§¸¦ È®Àå java.util.AbstractQueue <E>
          »óÀ§¸¦ È®Àå java.util.concurrent.ArrayBlockingQueue<E>
ÇüÅ ÆĶó¹ÌÅÍ:
E - Ä÷º¼Ç³»¿¡ Á¸ÀçÇÏ´Â ¿ä¼ÒÀÇ ÇüÅÂ
¸ðµç ±¸ÇöµÈ ÀÎÅÍÆäÀ̽º:
Serializable, Iterable <E>, Collection <E>, BlockingQueue <E>, Queue <E>

public class ArrayBlockingQueue<E>
extends AbstractQueue <E>
implements BlockingQueue <E>, Serializable

¹è¿­¿¡ ±Ù°ÅÇÏ´Â ¹Ù¿îµå Çü½Äºí·Ï Å¥ . ÀÌ Å¥´Â ¿ä¼Ò¸¦ FIFO (¼±ÀÔó ¹æÆí)·Î Á¤·Ä ÇÕ´Ï´Ù. Å¥ÀÇ ¡¸¼±µÎ¡¹´Â Å¥¿¡ °¡Àå ±æ°Ô Á¸ÀçÇÑ ¿ä¼Ò, Å¥ÀÇ ¡¸¸»¹Ì¡¹´Â Å¥¿¡ Á¸ÀçÇÑ ½Ã°£ÀÌ °¡Àå ªÀº ¿ä¼Ò°¡ µË´Ï´Ù. »õ·Î¿î ¿ä¼Ò´Â Å¥ÀÇ ¸»¹Ì¿¡ »ðÀԵǾî Å¥ Ãëµæ Á¶ÀÛ¿¡ÀÇÇØ Å¥ÀÇ ¼±µÎ ¿ä¼Ò°¡ ÃëµæµË´Ï´Ù.

ÀÌ°ÍÀº Ç¥ÁØÀûÀÎ ¡¸¹Ù¿îµå ¹öÆÛ¡¹À̸ç, ±× ³»ºÎ¿¡¼­´Â °íÁ¤ »çÀÌÁîÀÇ ¹è¿­ÀÌ ¿ä¼Ò¸¦ º¸°ü À¯ÁöÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¿ä¼Ò´Â ÇÁ·Îµà¼­¿¡ ÀÇÇØ »ðÀԵǾî ÄÁ½´¸Ó(consumer)¿¡ ÀÇÇØ ÃßÃâµË´Ï´Ù. ÀÛ¼º ÈÄ¿¡ ¿ë·®À» ´Ã¸± ¼ö ¾ø½À´Ï´Ù. ¿ä¼Ò¸¦ Å¥°¡ °¡µæ µÉ ¶§±îÁö put ÇÏ·Á°í Çϸé, put Á¶ÀÛÀÌ ºí·Ï µË´Ï´Ù. ºñ¾îÀִ ť·ÎºÎÅÍ ¿ä¼Ò¸¦ ÃëµæÇÏ·Á°í Çصµ, °°Àº ºí·ÎÅ·ÀÌ ¹ß»ýÇÕ´Ï´Ù.

ÀÌ Å¬·¡½º´Â ´ë±âÁßÀÇ ÇÁ·Îµà¼­ ¹× ÄÁ½´¸Ó(consumer) threadÀÇ ¼ø¼­ºÎ¸¦ °áÁ¤ÇÏ´Â ¿É¼ÇÀÇ ±Õµî¼º Á¤Ã¥¸¦ Áö¿ø ÇÕ´Ï´Ù. µðÆúÆ®¿¡¼­´Â ÀÌ ¼ø¼­ºÎ´Â º¸ÁõµÇÁö ¾Ê½À´Ï´Ù. ´Ù¸¸, true·Î ¼³Á¤µÈ ±Õµî¼º Á¤Ã¥¸¦ »ç¿ëÇØ ±¸ÃàµÈ Å¥¿¡¼­´Â thread°¡ FIFO ¼ø¼­·Î ¾×¼¼½º ÇÏ´Â °ÍÀÌ Çã°¡µË´Ï´Ù. ÀϹÝÀûÀ¸·Î ±Õµî¼º¿¡ ÀÇÇØ throughput°¡ ÀúÇÏÇÕ´Ï´Ù¸¸, º¯µ¿¼ºµµ ÀúÇÏÇϱ⠶§¹®¿¡ throughput°¡ ±Ø´ÜÀûÀ¸·Î Àû°Ô µÉ °ÍÀº ¾ø½À´Ï´Ù.

ÀÌ Å¬·¡½º¿Í ±× ¹Ýº¹ÀÚ´Â Collection ¹× Iterator ÀÎÅÍÆäÀ̽ºÀÇ ¿É¼ÇÀÇ ¸Þ¼­µå¸¦ ¸ðµÎ ±¸ÇöÇÕ´Ï´Ù.

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

µµÀÔµÈ ¹öÀü :
1.5
°ü·Ã Ç׸ñ:
Á÷·ÄÈ­ µÈ Çü½Ä

»ý¼ºÀÚ °³¿ä
ArrayBlockingQueue (int capacity)
          ÁöÁ¤µÈ (°íÁ¤) ¿ë·® ¹× µðÆúÆ®ÀÇ ¾×¼¼½º Á¤Ã¥¸¦ »ç¿ëÇØ, ArrayBlockingQueue¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
ArrayBlockingQueue (int capacity, boolean fair)
          ÁöÁ¤µÈ (°íÁ¤) ¿ë·® ¹× ÁöÁ¤µÈ ¾×¼¼½º Á¤Ã¥¸¦ »ç¿ëÇØ, ArrayBlockingQueueÀ» ÀÛ¼ºÇÕ´Ï´Ù.
ArrayBlockingQueue (int capacity, boolean fair, Collection <? extends E > c)
          ÁöÁ¤µÈ (°íÁ¤) ¿ë·® ¹× ¾×¼¼½º Á¤Ã¥¸¦ °¡Á®, ÁöÁ¤µÈ Ä÷º¼ÇÀÇ ¿ä¼Ò¸¦ ÃÖÃÊ·Î Æ÷ÇÔÇÑ ArrayBlockingQueue¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
 
¸Þ¼­µå °³¿ä
 void clear ()
          Å¥·ÎºÎÅÍ ¸ðµç ¿ä¼Ò¸¦ ¿øÀÚÀûÀ¸·Î »èÁ¦ÇÕ´Ï´Ù.
 boolean contains (Object  o)
          Ä÷º¼ÇÀ¸·Î ÁöÁ¤µÈ ¿ä¼Ò°¡ ÀÖ´Â °æ¿ì¿¡ true¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 int drainTo (Collection <? super E > c)
          ÀÌ¿ë °¡´ÉÇÑ ¸ðµç ¿ä¼Ò¸¦ ÀÌ Å¥·ÎºÎÅÍ »èÁ¦ÇØ, ÁöÁ¤µÈ Ä÷º¼Ç¿¡ Ãß°¡ÇÕ´Ï´Ù.
 int drainTo (Collection <? super E > c, int maxElements)
          ÁöÁ¤µÈ ¼öÀ̳»ÀÇ ÀÌ¿ë °¡´ÉÇÑ ¿ä¼Ò¸¦ ÀÌ Å¥·ÎºÎÅÍ »èÁ¦ÇØ, ÁöÁ¤µÈ Ä÷º¼Ç¿¡ Ãß°¡ÇÕ´Ï´Ù.
 Iterator <E > iterator ()
          Å¥³»ÀÇ ¿ä¼Ò¸¦ ÀûÀýÇÑ ¼ø¼­·Î ¹Ýº¹ ó¸® ÇÏ´Â ¹Ýº¹ÀÚ¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 boolean offer (E  o)
          °¡´ÉÇϸé, ÀÌ Å¥ÀÇ ¸»¹Ì·Î ÁöÁ¤µÈ ¿ä¼Ò¸¦ »ðÀÔÇÕ´Ï´Ù.
 boolean offer (E  o, long timeout, TimeUnit  unit)
          ÁöÁ¤µÈ ¿ä¼Ò¸¦ ÀÌ Å¥ÀÇ ¸»¹Ì¿¡ »ðÀÔÇÕ´Ï´Ù.
 E peek ()
          Å¥ÀÇ ¼±µÎ¸¦ ÃëµæÇÕ´Ï´Ù¸¸, »èÁ¦ÇÏÁö ¾Ê½À´Ï´Ù.
 E poll ()
          Å¥ÀÇ ¼±µÎ¸¦ Ãëµæ ¹× »èÁ¦ÇÕ´Ï´Ù.
 E poll (long timeout, TimeUnit  unit)
          ÀÌ Å¥ÀÇ ¼±µÎ¸¦ Ãëµæ ¹× »èÁ¦ÇÕ´Ï´Ù.
 void put (E  o)
          ÁöÁ¤µÈ ¿ä¼Ò¸¦ ÀÌ Å¥ÀÇ ¸»¹Ì¿¡ Ãß°¡ÇÕ´Ï´Ù.
 int remainingCapacity ()
          ÀÌ Å¥°¡ ÀÌ»óÀûÀÎ »óÅ¿¡ ÀÖ´Â (¸Þ¸ð¸®³ª ÀÚ¿øÀÇ Á¦ÇÑÀÌ Á¸ÀçÇÏÁö ¾Ê´Â´Ù) °æ¿ì¿¡ ºí·ÎÅ·¾øÀÌ ¹Þ¾ÆµéÀÌ´Â ¿ä¼ÒÀÇ ¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 boolean remove (Object  o)
          ÁöÁ¤µÈ ¿ä¼ÒÀÇ ´ÜÀÏÀÇ ÀνºÅϽº°¡ ÀÖ´Â °æ¿ì´Â Å¥·ÎºÎÅÍ »èÁ¦ÇÕ´Ï´Ù.
 int size ()
          Å¥³»¿¡ ÀÖ´Â ¿ä¼ÒÀÇ ¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 E take ()
          ÀÌ Å¥ÀÇ ¼±µÎ¸¦ Ãëµæ ¹× »èÁ¦ÇÕ´Ï´Ù.
 Object [] toArray ()
          ÀÌ Ä÷º¼ÇÀÇ ¿ä¼Ò°¡ ¸ðµÎ Æ÷ÇԵǰí ÀÖ´Â ¹è¿­À» ¸®ÅÏÇÕ´Ï´Ù.
<T> T[]
toArray (T[] a)
          ÀÌ Ä÷º¼Ç³»ÀÇ ¸ðµç ¿ä¼Ò¸¦ º¸°ü À¯ÁöÇÏ´Â ¹è¿­À» ¸®ÅÏÇÕ´Ï´Ù.
 String toString ()
          ÀÌ Ä÷º¼ÇÀÇ Ä³¸¯ÅÍ ¶óÀΠǥÇöÀ» ¸®ÅÏÇÕ´Ï´Ù.
 
Ŭ·¡½º java.util. AbstractQueue ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
add, addAll, element, remove
 
Ŭ·¡½º java.util. AbstractCollection ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
containsAll, isEmpty, removeAll, retainAll
 
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
ÀÎÅÍÆäÀ̽º java.util.concurrent. BlockingQueue ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
add
 
ÀÎÅÍÆäÀ̽º java.util. Queue ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
element, remove
 
ÀÎÅÍÆäÀ̽º java.util. Collection ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
addAll, containsAll, equals, hashCode, isEmpty, removeAll, retainAll
 

»ý¼ºÀÚ »ó¼¼

ArrayBlockingQueue

public ArrayBlockingQueue(int capacity)
ÁöÁ¤µÈ (°íÁ¤) ¿ë·® ¹× µðÆúÆ®ÀÇ ¾×¼¼½º Á¤Ã¥¸¦ »ç¿ëÇØ, ArrayBlockingQueue¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
capacity - Å¥ÀÇ ¿ë·®
¿¹¿Ü:
IllegalArgumentException - capacity°¡ 1 ¹Ì¸¸ÀÇ °æ¿ì

ArrayBlockingQueue

public ArrayBlockingQueue(int capacity,
                          boolean fair)
ÁöÁ¤µÈ (°íÁ¤) ¿ë·® ¹× ÁöÁ¤µÈ ¾×¼¼½º Á¤Ã¥¸¦ »ç¿ëÇØ, ArrayBlockingQueue¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

ÆĶó¹ÌÅÍ:
capacity - Å¥ÀÇ ¿ë·®
fair - trueÀÎ °æ¿ì, »ðÀÔ ¶Ç´Â »èÁ¦½Ã¿¡ ºí·Ï µÈ thread¿¡ ´ëÇÑ Å¥ ¾×¼¼½º´Â FIFO ¼ø¼­·Î 󸮵˴ϴÙ. falseÀÎ °æ¿ì, ¾×¼¼½º ¼ø¼­´Â ÁöÁ¤µÇÁö ¾Ê½À´Ï´Ù.
¿¹¿Ü:
IllegalArgumentException - capacity°¡ 1 ¹Ì¸¸ÀÇ °æ¿ì

ArrayBlockingQueue

public ArrayBlockingQueue(int capacity,
                          boolean fair,
                          Collection <?  extends E > c)
ÁöÁ¤µÈ (°íÁ¤) ¿ë·® ¹× ¾×¼¼½º Á¤Ã¥¸¦ °¡Á®, ÁöÁ¤µÈ Ä÷º¼ÇÀÇ ¿ä¼Ò¸¦ ÃÖÃÊ·Î Æ÷ÇÔÇÑ ArrayBlockingQueue¸¦ ÀÛ¼ºÇÕ´Ï´Ù. ÀÌ°ÍÀº Ä÷º¼ÇÀÇ ¹Ýº¹ÀÚÀÇ traversal order·Î Ãß°¡µË´Ï´Ù.

ÆĶó¹ÌÅÍ:
capacity - Å¥ÀÇ ¿ë·®
fair - trueÀÎ °æ¿ì, »ðÀÔ ¶Ç´Â »èÁ¦½Ã¿¡ ºí·Ï µÈ thread¿¡ ´ëÇÑ Å¥ ¾×¼¼½º´Â FIFO ¼ø¼­·Î 󸮵˴ϴÙ. falseÀÎ °æ¿ì, ¾×¼¼½º ¼ø¼­´Â ÁöÁ¤µÇÁö ¾Ê½À´Ï´Ù.
c - ÃÖÃÊ·Î Æ÷ÇÔÇÑ ¿ä¼ÒÀÇ Ä÷º¼Ç
¿¹¿Ü:
IllegalArgumentException - capacity°¡ c.size() ¹Ì¸¸ÀÎÁö, 1 ¹Ì¸¸ÀÎ °æ¿ì
NullPointerException - c ¶Ç´Â ±× ³»ºÎ ¿ä¼ÒÁß ÇÑÂÊÀÌ nullÀÎ °æ¿ì
¸Þ¼­µåÀÇ »ó¼¼

offer

public boolean offer(E  o)
°¡´ÉÇϸé, ÀÌ Å¥ÀÇ ¸»¹Ì·Î ÁöÁ¤µÈ ¿ä¼Ò¸¦ »ðÀÔÇÕ´Ï´Ù. ÀÌ Å¥°¡ °¡µæÇØ ÀÖ´Â °æ¿ì¿¡´Â Áï¼®¿¡¼­ ¸®ÅÏÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º BlockingQueue <E > ³»ÀÇ offer
Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Queue <E > ³»ÀÇ offer
ÆĶó¹ÌÅÍ:
o - Ãß°¡ÇÏ´Â ¿ä¼Ò
¹Ýȯ°ª:
¿ä¼Ò¸¦ ÀÌ Å¥¿¡ Ãß°¡ °¡´ÉÇÑ °æ¿ì´Â true, ±×·¸Áö ¾ÊÀº °æ¿ì´Â false
¿¹¿Ü:
NullPointerException - ÁöÁ¤µÈ ¿ä¼Ò°¡ null ÀÎ °æ¿ì

offer

public boolean offer(E  o,
                     long timeout,
                     TimeUnit  unit)
              throws InterruptedException 
ÁöÁ¤µÈ ¿ä¼Ò¸¦ ÀÌ Å¥ÀÇ ¸»¹Ì¿¡ »ðÀÔÇÕ´Ï´Ù. ÇÊ¿äÇÏ°Ô ÀÀÇØ °ø°£ÀÌ ÀÌ¿ë °¡´ÉÇÏ°Ô µÇ´Â °ÍÀ» ÁöÁ¤µÈ ½Ã°£±îÁö ´ë±âÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º BlockingQueue <E > ³»ÀÇ offer
ÆĶó¹ÌÅÍ:
o - Ãß°¡ÇÏ´Â ¿ä¼Ò
timeout - 󸮸¦ ÁßÁöÇÒ ¶§±îÁöÀÇ ´ë±â ½Ã°£. ´ÜÀ§´Â unit
unit - timeout ÆĶó¹ÌÅÍÀÇ Çؼ® ¹æ¹ýÀ» ÁöÁ¤ÇÏ´Â TimeUnit
¹Ýȯ°ª:
¼º°øÇßÀ» °æ¿ì´Â true, °ø°£ÀÌ ÀÌ¿ë °¡´ÉÇÏ°Ô µÇ±â ÀüÀ¸·Î ÁöÁ¤µÈ ´ë±â ½Ã°£ÀÌ °æ°úÇßÀ» °æ¿ì´Â false
¿¹¿Ü:
InterruptedException - ´ë±âÁß¿¡ ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇßÀ» °æ¿ì
NullPointerException - ÁöÁ¤µÈ ¿ä¼Ò°¡ null ÀÎ °æ¿ì

poll

public E  poll()
ÀÎÅÍÆäÀ̽º Queue ±â¼ú:
Å¥ÀÇ ¼±µÎ¸¦ Ãëµæ ¹× »èÁ¦ÇÕ´Ï´Ù. Å¥°¡ ºñ¾îÀÖ´Â °æ¿ì´Â nullÀ» ¸®ÅÏÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Queue <E > ³»ÀÇ poll
¹Ýȯ°ª:
Å¥ÀÇ ¼±µÎ. Å¥°¡ ºñ¾îÀÖ´Â °æ¿ì´Â null

poll

public E  poll(long timeout,
              TimeUnit  unit)
       throws InterruptedException 
ÀÎÅÍÆäÀ̽º BlockingQueue ±â¼ú:
ÀÌ Å¥ÀÇ ¼±µÎ¸¦ Ãëµæ ¹× »èÁ¦ÇÕ´Ï´Ù. ÀÌ Å¥¿¡ ¿ä¼Ò°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì´Â ÇÊ¿ä¿¡ µû¶ó¼­ ÁöÁ¤µÈ ½Ã°£¸¸ ´ë±âÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º BlockingQueue <E > ³»ÀÇ poll
ÆĶó¹ÌÅÍ:
timeout - 󸮸¦ ÁßÁöÇÒ ¶§±îÁöÀÇ ´ë±â ½Ã°£. ´ÜÀ§´Â unit
unit - timeout ÆĶó¹ÌÅÍÀÇ Çؼ® ¹æ¹ýÀ» ÁöÁ¤ÇÏ´Â TimeUnit
¹Ýȯ°ª:
ÀÌ Å¥ÀÇ ¼±µÎ. ÁöÁ¤µÈ ´ë±â ½Ã°£ÀÌ °æ°úÇصµ ¿ä¼Ò°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì´Â null
¿¹¿Ü:
InterruptedException - ´ë±âÁß¿¡ ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇßÀ» °æ¿ì

remove

public boolean remove(Object  o)
ÁöÁ¤µÈ ¿ä¼ÒÀÇ ´ÜÀÏÀÇ ÀνºÅϽº°¡ ÀÖ´Â °æ¿ì´Â Å¥·ÎºÎÅÍ »èÁ¦ÇÕ´Ï´Ù.

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

peek

public E  peek()
ÀÎÅÍÆäÀ̽º Queue ±â¼ú:
Å¥ÀÇ ¼±µÎ¸¦ ÃëµæÇÕ´Ï´Ù¸¸, »èÁ¦ÇÏÁö ¾Ê½À´Ï´Ù. Å¥°¡ ºñ¾îÀÖ´Â °æ¿ì´Â nullÀ» ¸®ÅÏÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Queue <E > ³»ÀÇ peek
¹Ýȯ°ª:
Å¥ÀÇ ¼±µÎ. Å¥°¡ ºñ¾îÀÖ´Â °æ¿ì´Â null

take

public E  take()
       throws InterruptedException 
ÀÎÅÍÆäÀ̽º BlockingQueue ±â¼ú:
ÀÌ Å¥ÀÇ ¼±µÎ¸¦ Ãëµæ ¹× »èÁ¦ÇÕ´Ï´Ù. ÀÌ Å¥¿¡ ¿ä¼Ò°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì´Â ´ë±âÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º BlockingQueue <E > ³»ÀÇ take
¹Ýȯ°ª:
Å¥ÀÇ ¼±µÎ
¿¹¿Ü:
InterruptedException - ´ë±âÁß¿¡ ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇßÀ» °æ¿ì

put

public void put(E  o)
         throws InterruptedException 
ÁöÁ¤µÈ ¿ä¼Ò¸¦ ÀÌ Å¥ÀÇ ¸»¹Ì¿¡ Ãß°¡ÇÕ´Ï´Ù. ÇÊ¿äÇÏ°Ô ÀÀÇØ °ø°£ÀÌ ÀÌ¿ë °¡´ÉÇÏ°Ô µÉ ¶§±îÁö ´ë±âÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º BlockingQueue <E > ³»ÀÇ put
ÆĶó¹ÌÅÍ:
o - Ãß°¡ÇÏ´Â ¿ä¼Ò
¿¹¿Ü:
InterruptedException - ´ë±âÁß¿¡ ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇßÀ» °æ¿ì
NullPointerException - ÁöÁ¤µÈ ¿ä¼Ò°¡ null ÀÎ °æ¿ì

size

public int size()
Å¥³»¿¡ ÀÖ´Â ¿ä¼ÒÀÇ ¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Collection <E > ³»ÀÇ size
Á¤ÀÇ:
Ŭ·¡½º AbstractCollection <E > ³»ÀÇ size
¹Ýȯ°ª:
Å¥ÀÇ ¿ä¼Ò¼ö

remainingCapacity

public int remainingCapacity()
ÀÌ Å¥°¡ ÀÌ»óÀûÀÎ »óÅ¿¡ ÀÖ´Â (¸Þ¸ð¸®³ª ÀÚ¿øÀÇ Á¦ÇÑÀÌ Á¸ÀçÇÏÁö ¾Ê´Â´Ù) °æ¿ì¿¡ ºí·ÎÅ·¾øÀÌ ¹Þ¾ÆµéÀÌ´Â ¿ä¼ÒÀÇ ¼ö¸¦ ¸®ÅÏÇÕ´Ï´Ù. ÀÌ °ªÀº Ç×»ó ÀÌ Å¥ÀÇ Ãʱ⠿뷮¿¡ µ¿ÀÏÇÏ°í, ÀÌ Å¥ÀÇ ÇöÀçÀÇ size Ä¡º¸´Ù ÀÛ¾ÆÁý´Ï´Ù.

remainingCapacity¸¦ È®ÀÎÇϸé, ¿ä¼ÒÀÇ add Á¶ÀÛÀÌ ¼º°øÇÑ´Ù°í´Â ¹Ýµå½Ã ¸»ÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÌ°ÍÀº ´ë±âÁßÀÇ ÄÁ½´¸Ó(consumer)°¡ ´Ù¸¥ Á¶ÀÛÀ» ½ÇÇàÇÏ¸é °¡µæ µÇ¾î ¹ö¸®´Â Å¥¿¡ ´ëÇؼ­ ¿ä¼ÒÀÇ take Á¶ÀÛÀ» ½ÇÇàÇÒ Áغñ°¡ µÇ¾î ÀÖ´Â °æ¿ì°¡ Àֱ⠶§¹®¿¡ÀÔ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º BlockingQueue <E > ³»ÀÇ remainingCapacity
¹Ýȯ°ª:
³ª¸ÓÁöÀÇ ¿ë·®

contains

public boolean contains(Object  o)
Ŭ·¡½º AbstractCollection ±â¼ú:
Ä÷º¼ÇÀ¸·Î ÁöÁ¤µÈ ¿ä¼Ò°¡ ÀÖ´Â °æ¿ì¿¡ true¸¦ ¸®ÅÏÇÕ´Ï´Ù. Áï, ÀÌ Ä÷º¼Ç¿¡ (o==null ? e==null : o.equals(e)) ÀÎ ¿ä¼Ò e°¡ 1°³ ÀÌ»ó ÀÖ´Â °æ¿ì¿¡¸¸ true¸¦ ¸®ÅÏÇÕ´Ï´Ù.

ÀÌ ±¸ÇöÀº Ä÷º¼ÇÀÇ °¢ ¿ä¼Ò¿¡ ´ëÇØ, ÁöÁ¤µÈ ¿ä¼Ò¿Í µ¿ÀÏÇÑÁö ¾î¶²Áö¸¦ ¼ø¼­¿¡ ¹Ýº¹ÇØ È®ÀÎÇÕ´Ï´Ù.

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

toArray

public Object [] toArray()
Ŭ·¡½º AbstractCollection ±â¼ú:
ÀÌ Ä÷º¼ÇÀÇ ¿ä¼Ò°¡ ¸ðµÎ Æ÷ÇԵǰí ÀÖ´Â ¹è¿­À» ¸®ÅÏÇÕ´Ï´Ù. ¹Ýº¹ÀÚ¿¡ ÀÇÇØ ¸®ÅÏµÈ ¿ä¼ÒÀÇ Â÷·Ê¸¦ Ä÷º¼ÇÀÌ º¸ÁõÇÏ´Â °æ¿ì, ÀÌ ¸Þ¼­µå´Â ±×°Í°ú °°Àº Â÷·Ê·Î ¿ä¼Ò¸¦ ¸®ÅÏÇÕ´Ï´Ù. ¸®ÅÏµÈ ¹è¿­Àº Ä÷º¼Ç¿¡ ÀÇÇØ °ü¸®µÇ´Â ÂüÁ¶ °ü°è¸¦ °¡ÁöÁö ¾Ê´Â Á¡À¸·Î½á ¾ÈÀü¼ºÀÌ º¸ÁõµË´Ï´Ù. Áï, ÀÌ ¸Þ¼­µå´Â Ä÷º¼ÇÀÇ ±â°¡ Array ÀÎ °æ¿ì¿¡¼­µµ, »õ·Ó°Ô ¹è¿­À» ÇÒ´çÇÕ´Ï´Ù. ÀÌ ¶§¹®¿¡ È£ÃâÃøÀº ¸®ÅÏµÈ ¹è¿­À» ÀÚÀ¯·Ó°Ô º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÌ ±¸ÇöÀº ¸®ÅÏµÈ ¹è¿­À» ÇÒ´çÇØ Ä÷º¼ÇÀÇ °¢ ¿ä¼Ò¿¡ ´ëÇØ ¹Ýº¹ÇÕ´Ï´Ù. Áï, °¢ °´Ã¼ ÂüÁ¶¸¦ ¹è¿­ÀÇ ´ÙÀ½ÀÇ ¿ä¼Ò¿¡ Æ÷ÇÔÇÑ´Ù°í Çϴ ó¸®¸¦, Á¦ 0 ¿ä¼Ò·ÎºÎÅÍ °³½ÃÇÕ´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Collection <E > ³»ÀÇ toArray
¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º AbstractCollection <E > ³»ÀÇ toArray
¹Ýȯ°ª:
Ä÷º¼ÇÀÇ ¸ðµç ¿ä¼Ò°¡ Æ÷ÇԵǰí ÀÖ´Â ¹è¿­

toArray

public <T> T[] toArray(T[] a)
Ŭ·¡½º AbstractCollection ±â¼ú:
ÀÌ Ä÷º¼Ç³»ÀÇ ¸ðµç ¿ä¼Ò¸¦ º¸°ü À¯ÁöÇÏ´Â ¹è¿­À» ¸®ÅÏÇÕ´Ï´Ù. ¸®ÅÏµÈ ¹è¿­ÀÇ ½ÇÇà½ÃÀÇ ÇüÅ´ ÁöÁ¤µÈ ¹è¿­ÀÇ ÇüÅÂÀÔ´Ï´Ù. Ä÷º¼ÇÀÌ ÁöÁ¤µÈ ¹è¿­¿¡ µé¾î°¡´Â °æ¿ì´Â ±× Áß¿¡ ¸®Åϵ˴ϴ٠. ±×·¸Áö ¾ÊÀº °æ¿ì´Â ÁöÁ¤µÈ ¹è¿­ÀÇ ½ÇÇà½ÃÀÇ ÇüÅÂ¿Í Ä÷º¼ÇÀÇ »çÀÌÁ °¡Áö´Â »õ·Î¿î ¹è¿­À» ÇÒ´çÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÁöÁ¤µÈ ¹è¿­¿¡ Ä÷º¼ÇÀÌ µé¾î°¡ ¶ÇÇÑ ºó °÷ÀÌ ÀÖ´Â °æ¿ì, Áï ¹è¿­¿¡ Ä÷º¼Ç ÀÌ»óÀÇ ¿ä¼Ò¼ö ÀÖ´ÂÀÎ °æ¿ì¿¡´Â Ä÷º¼ÇÀÇ Á¾´ÜÀÇ Á÷ÈÄ¿¡ ÀÖ´Â ¹è¿­ÀÇ ¿ä¼Ò°¡ null·Î ¼³Á¤µË´Ï´Ù. Ä÷º¼Ç¿¡ null ¿ä¼Ò°¡ ¾ø´Â °ÍÀÌ È£ÃâÇØ ¿·À¸·Î ¹àÇôÁö°í ÀÖ´Â °æ¿ì¿¡´Â ÀÌ°Í¿¡ ÀÇÇØ Ä÷º¼ÇÀÇ ±æÀ̸¦ ÆÇÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

¹Ýº¹ÀÚ¿¡ ÀÇÇØ ¿ä¼Ò°¡ ¸®ÅÏµÈ ¼ø¼­¸¦ Ä÷º¼ÇÀÌ º¸ÁõÇÏ´Â °æ¿ì, ÀÌ ¸Þ¼­µå´Â °°Àº ¼ø¼­·Î ¿ä¼Ò¸¦ µ¹·ÁÁÖÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.

ÀÌ ±¸ÇöÀº ¹è¿­ÀÌ Ä÷º¼ÇÀÇ Æ÷ÇÔ¿¡ ÃæºÐÇÑ Å©±âÀÎÁö¸¦ È®ÀÎÇÕ´Ï´Ù. ºÒÃæºÐÇÑ °æ¿ì, ÀÌ ±¸ÇöÀº ¸®Ç÷º¼ÇÀ» »ç¿ëÇØ, ÀûÀýÇÑ »çÀÌÁî ¹× ÇüÅÂÀÇ ¹è¿­À» »õ·Ó°Ô ÇÒ´çÇÕ´Ï´Ù. ´ÙÀ½¿¡ Ä÷º¼Ç¿¡ ´ëÇؼ­ 0 À¸·ÎºÎÅÍ ¼ø¼­¿¡ ¹è¿­ÀÌ ¿¬¼ÓÇÏ´Â ¿ä¼Ò¿¡ °¢ °´Ã¼ ÂüÁ¶¸¦ Æ÷ÇÔÇÏ´Â Á¶ÀÛÀ» ¹Ýº¹ÇÕ´Ï´Ù. ¹è¿­ÀÌ Ä÷º¼Çº¸´Ù Å« °æ¿ì, Ä÷º¼ÇÀÇ Á¾´Üº¸´Ù ÈÄÀÇ ÃÖÃÊÀÇ À§Ä¡¿¡ null°¡ Æ÷ÇԵ˴ϴÙ.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Collection <E > ³»ÀÇ toArray
¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º AbstractCollection <E > ³»ÀÇ toArray
ÆĶó¹ÌÅÍ:
a - Ä÷º¼ÇÀÇ ¿ä¼ÒÀÇ Æ÷ÇÔóÀÇ ¹è¿­. ¹è¿­ÀÇ »çÀÌÁî°¡ ÃæºÐÇÏÁö ¾ÊÀº °æ¿ì´Â °°Àº ½ÇÇà½ÃÀÇ ÇüÅ·Π»õ·Î¿î ¹è¿­ÀÌ Æ÷ÇÔ¿ëÀ¸·Î¼­ ÇÒ´çÇÒ ¼ö ÀÖ´Ù
¹Ýȯ°ª:
Ä÷º¼ÇÀÇ ¿ä¼Ò¸¦ Æ÷ÇÔÇÑ ¹è¿­

toString

public String  toString()
Ŭ·¡½º AbstractCollection ±â¼ú:
ÀÌ Ä÷º¼ÇÀÇ Ä³¸¯ÅÍ ¶óÀΠǥÇöÀ» ¸®ÅÏÇÕ´Ï´Ù. ij¸¯ÅÍ ¶óÀΠǥÇöÀº Ä÷º¼ÇÀÇ ¿ä¼Ò¸¦ ±× ¹Ýº¹ÀÚ°¡ µ¹·ÁÁØ ¼ø¼­¿¡ ²©¼â¹­À½ ("[]")À¸·Î µÑ·¯½Î °¡¸®Å°´Â ¸®½ºÆ®ÀÔ´Ï´Ù. ÀÎÁ¢ÇÏ´Â ¿ä¼Ò´Â ¹®ÀÚ ", " (Ä­¸¶¿Í °ø¹é ¹®ÀÚ)¿¡ ÀÇÇØ ´Ü¶ôÁö¾îÁý´Ï´Ù. °¢ ¿ä¼Ò´Â String.valueOf(Object)¸¦ ½ÇÇàÇß´ÂÁö¿Í °°ÀÌ Ä³¸¯ÅÍ ¶óÀο¡ º¯È¯µË´Ï´Ù.

ÀÌ ±¸ÇöÀº ºñ¾îÀִ ij¸¯ÅÍ ¶óÀÎ ¹öÆÛ¸¦ ÀÛ¼ºÇØ, ÃÖÃÊ·Î ¿ÞÂÊ ²©¼â¹­À½À» ºÎ°¡ÇÏ°í ³ª¼­, Ä÷º¼ÇÀÇ ³»¿ëÀ» Â÷·ÊÂ÷·Ê Á¶»çÇØ, °¢ ¿ä¼ÒÀÇ Ä³¸¯ÅÍ ¶óÀΠǥÇöÀ» ¼ø¼­¿¡ ºÎ°¡ÇØ °¥ °ÍÀÔ´Ï´Ù. °¢ ¿ä¼ÒÀÇ µÚ¿¡´Â ij¸¯ÅÍ ¶óÀÎ ", " ÀÌ ºÎ°¡µË´Ï´Ù. ´Ù¸¸, ¸¶Áö¸· ¿ä¼ÒÀÇ µÚ¿¡´Â ", "´Â ¾Æ´Ï°í ¿À¸¥ÂÊ ²©¼â¹­À½ÀÌ ºÎ°¡µË´Ï´Ù. ¸¶Áö¸·¿¡ ij¸¯ÅÍ ¶óÀÎ ¹öÆ۷κÎÅÍ Ä³¸¯ÅÍ ¶óÀÎÀ» ÃëµæÇØ, ±× ij¸¯ÅÍ ¶óÀÎÀ» ¸®ÅÏÇÕ´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º AbstractCollection <E > ³»ÀÇ toString
¹Ýȯ°ª:
ÀÌ Ä÷º¼ÇÀÇ Ä³¸¯ÅÍ ¶óÀΠǥÇö

clear

public void clear()
Å¥·ÎºÎÅÍ ¸ðµç ¿ä¼Ò¸¦ ¿øÀÚÀûÀ¸·Î »èÁ¦ÇÕ´Ï´Ù. ÀÌ È£ÃâÀÌ µ¹¾Æ¿À¸é, Å¥´Â ºñ¿ó´Ï´Ù.

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

drainTo

public int drainTo(Collection <?  super E > c)
ÀÎÅÍÆäÀ̽º BlockingQueue ±â¼ú:
ÀÌ¿ë °¡´ÉÇÑ ¸ðµç ¿ä¼Ò¸¦ ÀÌ Å¥·ÎºÎÅÍ »èÁ¦ÇØ, ÁöÁ¤µÈ Ä÷º¼Ç¿¡ Ãß°¡ÇÕ´Ï´Ù. ÀÌ Á¶ÀÛÀº ÀÌ Å¥¸¦ ¹Ýº¹ÇØ Æú¸µ ÇÏ´Â °æ¿ìº¸´Ù È¿À²ÀûÀÎ °æ¿ì°¡ ÀÖ½À´Ï´Ù. Ä÷º¼Ç c¿¡ ¿ä¼ÒÀÇ add Á¶ÀÛÀ» ½ÃµµÇÒ ¶§¿¡ ÀåÇØ°¡ ¹ß»ýÇßÀ» °æ¿ì, °ü·ÃµÈ ¿¹¿ÜÀÇ Throw½Ã¿¡ ¿ä¼Ò°¡ Ä÷º¼ÇÀÇ ¾î´À °Í¿¡µµ Á¸ÀçÇÏÁö ¾Ê´ÂÁö, ÇÑÆí ¶Ç´Â ¾çÂÊ ¸ðµÎ¿¡ Á¸ÀçÇÒ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. Å¥¸¦ ÀÚ±â Àڽſ¡°Ô ¹èÃâÇÏ´Â °ÍÀ» ½ÃµµÇϸé, IllegalArgumentExceptionÀÌ ¹ß»ý µË´Ï´Ù. ¶Ç, ÀÌ Á¶ÀÛÀÇ ÁøÇàÁßÀ¸·Î ÁöÁ¤µÈ Ä÷º¼ÇÀÌ º¯°æµÇ¾úÀ» °æ¿ìÀÇ µ¿ÀÛÀº Á¤ÀǵÇÁö ¾Ê½À´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º BlockingQueue <E > ³»ÀÇ drainTo
ÆĶó¹ÌÅÍ:
c - ¿ä¼ÒÀÇ Àü¼ÛóÀÇ Ä÷º¼Ç
¹Ýȯ°ª:
Àü¼Û µÇ´Â ¿ä¼ÒÀÇ ¼ö

drainTo

public int drainTo(Collection <?  super E > c,
                   int maxElements)
ÀÎÅÍÆäÀ̽º BlockingQueue ±â¼ú:
ÁöÁ¤µÈ ¼öÀ̳»ÀÇ ÀÌ¿ë °¡´ÉÇÑ ¿ä¼Ò¸¦ ÀÌ Å¥·ÎºÎÅÍ »èÁ¦ÇØ, ÁöÁ¤µÈ Ä÷º¼Ç¿¡ Ãß°¡ÇÕ´Ï´Ù. Ä÷º¼Ç c¿¡ ¿ä¼ÒÀÇ add Á¶ÀÛÀ» ½ÃµµÇÒ ¶§¿¡ ÀåÇØ°¡ ¹ß»ýÇßÀ» °æ¿ì, °ü·ÃµÈ ¿¹¿ÜÀÇ Throw½Ã¿¡ ¿ä¼Ò°¡ Ä÷º¼ÇÀÇ ¾î´À °Í¿¡µµ Á¸ÀçÇÏÁö ¾Ê´ÂÁö, ÇÑÆí ¶Ç´Â ¾çÂÊ ¸ðµÎ¿¡ Á¸ÀçÇÒ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. Å¥¸¦ ÀÚ±â Àڽſ¡°Ô ¹èÃâÇÏ´Â °ÍÀ» ½ÃµµÇϸé, IllegalArgumentExceptionÀÌ ¹ß»ý µË´Ï´Ù. ¶Ç, ÀÌ Á¶ÀÛÀÇ ÁøÇàÁßÀ¸·Î ÁöÁ¤µÈ Ä÷º¼ÇÀÌ º¯°æµÇ¾úÀ» °æ¿ìÀÇ µ¿ÀÛÀº Á¤ÀǵÇÁö ¾Ê½À´Ï´Ù.

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º BlockingQueue <E > ³»ÀÇ drainTo
ÆĶó¹ÌÅÍ:
c - ¿ä¼ÒÀÇ Àü¼ÛóÀÇ Ä÷º¼Ç
maxElements - Àü¼Û ÇÏ´Â ¿ä¼ÒÀÇ ÃÖ´ë¼ö
¹Ýȯ°ª:
Àü¼Û µÇ´Â ¿ä¼ÒÀÇ ¼ö

iterator

public Iterator <E > iterator()
Å¥³»ÀÇ ¿ä¼Ò¸¦ ÀûÀýÇÑ ¼ø¼­·Î ¹Ýº¹ ó¸® ÇÏ´Â ¹Ýº¹ÀÚ¸¦ ¸®ÅÏÇÕ´Ï´Ù. ¸®ÅÏµÈ Iterator´Â ¡¸¾àÀÏ°ü¼º¡¹À» °¡Áö´Â ¹Ýº¹ÀÚÀ̸ç, ConcurrentModificationException¸¦ Throw ÇÏ´Â °ÍÀº °áÄÚ ¾ø°í, ¹Ýº¹ÀÚÀÇ ±¸Ãà½Ã¿¡ Á¸ÀçÇÑ ¿ä¼Ò¸¦ ÀüŽ»öÇÏ´Â °ÍÀ» º¸ÁõÇÕ´Ï´Ù. ¶Ç, ±¸Ãà ÈÄÀÇ ¸ðµç º¯°æÀ» ¹Ý¿µÇÏ´Â Àϵµ °¡´ÉÇÕ´Ï´Ù (´Ù¸¸ º¸ÁõµÇÁö´Â ¾Ê¾Ò´Ù).

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Iterable <E > ³»ÀÇ iterator
Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Collection <E > ³»ÀÇ iterator
Á¤ÀÇ:
Ŭ·¡½º AbstractCollection <E > ³»ÀÇ iterator
¹Ýȯ°ª:
Å¥³»ÀÇ ¿ä¼Ò¸¦ ÀûÀýÇÑ ¼ø¼­·Î ¹Ýº¹ ó¸® ÇÏ´Â ¹Ýº¹ÀÚ

JavaTM 2 Platform
Standard Ed. 5.0

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