JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.util
Ŭ·¡½º Collections

java.lang.Object 
  |
  +--java.util.Collections

public class Collections
extends Object

ÀÌ Å¬·¡½º´Â ÄÝ·º¼Ç¿¡ ÀÛ¿ëÇÏ´ÂÁö ÄÝ·º¼ÇÀ» µ¹·ÁÁÖ´Â static ¸Þ¼Òµå¸¸À¸·Î ±¸¼ºµË´Ï´Ù. ÀÌ Å¬·¡½º¿¡´Â ÁöÁ¤µÈ ÄÝ·º¼ÇÀ» ±âº»À¸·Î ÇÑ »õ·Î¿î ÄÝ·º¼ÇÀ» µ¹·ÁÁÖ´Â ¡¸·¡ÆÛ¡¹ µî, ÄÝ·º¼Ç¿¡ ´ëÇØ¼­ ÀÛ¿ëÇÏ´Â ´Ù¾çÇÑ ¾Ë°í¸®ÁòÀÌ ÀÖ½À´Ï´Ù.

ÀÌ Å¬·¡½ºÀÇ ¸Þ¼Òµå¿¡ Á¦°øµÇ´Â ÄÝ·º¼ÇÀÌ null ÀÇ °æ¿ì, ÀÌ Å¬·¡½ºÀÇ ¸Þ¼Òµå´ÂNullPointerException ¸¦ ¸ðµÎ ½½·Î¿ì ÇÕ´Ï´Ù.

ÀÌ Å¬·¡½º¿¡ ÀÖ´Â ´Ù¾çÇÑ ¾Ë°í¸®ÁòÀÇ ¹®¼­¿¡´Â Åë»ó, ¡¸±¸Çö¡¹ÀÇ °£´ÜÇÑ ¼³¸íÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ÀÌ ¼³¸íÀº ¡¸»ç¾ç¡¹ÀÇ ÀϺο¡¼­´Â ¾ø°í ¡¸±¸Çö Á¤º¸¡¹¶ó°í »ý°¢ÇØ ÁÖ¼¼¿ä. ±¸ÇöÀÚ´Â »ç¾ç¿¡ ¹ÝÇÏÁö ¾Ê´Â ÇÑ, ´Ù¸¥ ¾Ë°í¸®ÁòÀ» ÀÚÀ¯·Ó°Ô »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î,sort °¡ »ç¿ëÇÏ´Â ¾Ë°í¸®ÁòÀº merge ¼ÒÆ®ÀÏ ÇÊ¿ä´Â ¾ø½À´Ï´Ù¸¸, ¡¸°íÁ¤ (stable)¡¹ÀÇ ¾Ë°í¸®ÁòÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù.

ÄÝ·º¼ÇÀÌ set ¸Þ¼Òµå¿Í °°ÀÌ ÀûÀýÇÑ º¯ÀÌ ¿ø½ÃÀûÇü ¸Þ¼Òµå¸¦ ¼­Æ÷Æ®Çϰí ÀÖÁö ¾Ê´Â °æ¿ì, ÀÌ Å¬·¡½º (󸮵Ǵ ÄÝ·º¼ÇÀ» ¼öÁ¤ÇÏ´Â ¾Ë°í¸®Áò)¿¡ Æ÷ÇԵǾî ÀÖ´ø ¡¸ÆÄ±«Àû¡¹¾Ë°í¸®ÁòÀº UnsupportedOperationException ¸¦ ½½·Î¿ì Çϵµ·Ï(µíÀÌ) ÁöÁ¤µÇ°í ÀÖ½À´Ï´Ù. È£ÃâÀÌ ÄÝ·º¼Ç¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê´Â °æ¿ì, ÀÌ·¯ÇÑ ¾Ë°í¸®ÁòÀº ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù¸¸, Çʼö°¡ ¾Æ´Õ´Ï´Ù. ¿¹¸¦ µé¾î, ¼ÒÆ® ³¡³­ º¯°æ ºÒ°¡´ÉÇÑ ¸®½ºÆ®·Î,sort ¸Þ¼Òµå¸¦ È£ÃâÇϸé(ÀÚ),UnsupportedOperationException. ÇÏÁö¸¸ ½½·Î¿ì µÇ´Â °æ¿ì¿Í ½½·Î¿ì µÇÁö ¾Ê´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.

µµÀÔµÈ ¹öÁ¯:
1.2
°ü·Ã Ç׸ñ:
Collection , Set , List , Map

ÇʵåÀÇ °³¿ä
static List EMPTY_LIST
          ÇÏ´ÃÀÇ ¸®½ºÆ®ÀÔ´Ï´Ù (ºÒº¯).
static Map EMPTY_MAP
          ÇÏ´ÃÀÇ MAPÀÔ´Ï´Ù (ºÒº¯).
static Set EMPTY_SET
          Çϴü¼Æ®ÀÔ´Ï´Ù (ºÒº¯).
 
¸Þ¼ÒµåÀÇ °³¿ä
static int binarySearch (List  list, Object  key)
          ¹ÙÀ̳ʸ® ¼­Ä¡ ¾Ë°í¸®ÁòÀ» »ç¿ëÇØ, ÁöÁ¤µÈ ¸®½ºÆ®·ÎºÎÅÍ ÁöÁ¤µÈ ¿ÀºêÁ§Æ®¸¦ °Ë»öÇÕ´Ï´Ù.
static int binarySearch (List  list, Object  key, Comparator  c)
          ¹ÙÀ̳ʸ® ¼­Ä¡ ¾Ë°í¸®ÁòÀ» »ç¿ëÇØ, ÁöÁ¤µÈ ¸®½ºÆ®·ÎºÎÅÍ ÁöÁ¤µÈ ¿ÀºêÁ§Æ®¸¦ °Ë»öÇÕ´Ï´Ù.
static void copy (List  dest, List  src)
          ÀÖ´Â ¸®½ºÆ®·ÎºÎÅÍ ´Ù¸¥ ¸®½ºÆ®¿¡ ¸ðµç ¿ä¼Ò¸¦ Ä«ÇÇÇÕ´Ï´Ù.
static Enumeration enumeration (Collection  c)
          ÁöÁ¤µÈ ÄÝ·º¼ÇÀÇ ¿­°Å¸¦ µ¹·ÁÁÝ´Ï´Ù.
static void fill (List  list, Object  obj)
          ÁöÁ¤µÈ ¸®½ºÆ®ÀÇ ¸ðµç ¿ä¼Ò°¡ ÁöÁ¤µÈ ¿ä¼Ò·Î ¿Å°Ü³õ½À´Ï´Ù.
static int indexOfSubList (List  source, List  target)
          ÁöÁ¤µÈ ¼Ò½º ¸®½ºÆ®³»¿¡¼­, ÁöÁ¤µÈ Ÿ°Ù ¸®½ºÆ®°¡ ÃÖÃÊ·Î ÃâÇöÇÑ À§Ä¡ÀÇ °³½Ã À§Ä¡¸¦ µ¹·ÁÁÝ´Ï´Ù.
static int lastIndexOfSubList (List  source, List  target)
          ÁöÁ¤µÈ ¼Ò½º ¸®½ºÆ®³»¿¡¼­, ¸¶Áö¸·¿¡ ÃâÇöÇÑ ÁöÁ¤ Ÿ°Ù ¸®½ºÆ®ÀÇ °³½Ã À§Ä¡¸¦ µ¹·ÁÁÝ´Ï´Ù.
static ArrayList list (Enumeration  e)
          ÁöÁ¤µÈ ¿­°Å¿¡ ÀÇÇØ µ¹·ÁÁÖ¾îÁø ¿ä¼Ò¸¦ Æ÷ÇÔÇÑ ¹è¿­ ¸®½ºÆ®¸¦, µ¹·ÁÁÖ¾îÁø Â÷·Ê·Î µ¹·ÁÁÝ´Ï´Ù.
static Object max (Collection  coll)
          ¿ä¼ÒÀÇ ¡¸ÀÚ¿¬ ¼ø¼­ ºÙÀÌ°í¡¹¿¡ µû¶ó, ÁöÁ¤µÈ ÄÝ·º¼ÇÀÇ ÃÖ´ëÀÇ ¿ä¼Ò¸¦ µ¹·ÁÁÝ´Ï´Ù.
static Object max (Collection  coll, Comparator  comp)
          ÁöÁ¤µÈ ÄÞÆÛ·¹ÀÌÅͰ¡ °¡¸®Å°´Â ¼ø¼­¿¡ µû¶ó, ÁöÁ¤µÈ ÄÝ·º¼ÇÀÇ ÃÖ´ëÀÇ ¿ä¼Ò¸¦ µ¹·ÁÁÝ´Ï´Ù.
static Object min (Collection  coll)
          ¿ä¼ÒÀÇ ¡¸ÀÚ¿¬ ¼ø¼­ ºÙÀÌ°í¡¹¿¡ µû¶ó, ÁöÁ¤µÈ ÄÝ·º¼ÇÀÇ ÃÖ¼ÒÀÇ ¿ä¼Ò¸¦ µ¹·ÁÁÝ´Ï´Ù.
static Object min (Collection  coll, Comparator  comp)
          ÁöÁ¤µÈ ÄÞÆÛ·¹ÀÌÅͰ¡ °¡¸®Å°´Â ¼ø¼­¿¡ µû¶ó, ÁöÁ¤µÈ ÄÝ·º¼ÇÀÇ ÃÖ¼ÒÀÇ ¿ä¼Ò¸¦ µ¹·ÁÁÝ´Ï´Ù.
static List nCopies (int n, Object  o)
          ÁöÁ¤µÈ ¿ÀºêÁ§Æ®ÀÇ n °³ÀÇ Ä«ÇÇ·Î ±¸¼ºµÇ´Â ºÒº¯ÀÇ ¸®½ºÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù.
static boolean replaceAll (List  list, Object  oldVal, Object  newVal)
          ¸®½ºÆ®³»¿¡ ÃâÇöÇÏ´Â ÁöÁ¤µÈ °ªÀ» ¸ðµÎ ´Ù¸¥ °ª¿¡ ¿Å°Ü³õ½À´Ï´Ù.
static void reverse (List  list)
          ÁöÁ¤µÈ ¸®½ºÆ®ÀÇ ¿ä¼ÒÀÇ ¼ø¼­¸¦ ¹Ý´ë·Î ÇÕ´Ï´Ù.
static Comparator reverseOrder ()
          Comparable ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â ¿ÀºêÁ§Æ®ÀÇ ÄÝ·º¼ÇÀ¸·Î ¡¸ÀÚ¿¬ ¼ø¼­ ºÙÀÌ°í¡¹ÀÇ ¿ªÀ» Àǹ«È­ ÇÏ´Â ÄÞÆÛ·¹ÀÌÅ͸¦ µ¹·ÁÁÝ´Ï´Ù.
static void rotate (List  list, int distance)
          ÁöÁ¤µÈ ¸®½ºÆ®ÀÇ ¿ä¼Ò¸¦, ÁöÁ¤µÈ °Å¸®¿¡ ÀÇÇØ ȸÀüÇÕ´Ï´Ù.
static void shuffle (List  list)
          µðÆúÆ®ÀÇ random number generationÀÇ ¿øÀ» »ç¿ëÇØ, ÁöÁ¤µÈ ¸®½ºÆ®ÀÇ ¼ø¼­¸¦ ¹«ÀÛÀ§·Î ¹Ù²ã ³Ö½À´Ï´Ù.
static void shuffle (List  list, Random  rnd)
          µðÆúÆ®ÀÇ random number generationÀÇ ¿øÀ» »ç¿ëÇØ, ÁöÁ¤µÈ ¸®½ºÆ®ÀÇ ¼ø¼­¸¦ ¹«ÀÛÀ§·Î ¹Ù²ã ³Ö½À´Ï´Ù.
static Set singleton (Object  o)
          ÁöÁ¤µÈ ¿ÀºêÁ§Æ®¸¸À» ÀúÀåÇϰí ÀÖ´Â ºÒº¯¼¼Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù.
static List singletonList (Object  o)
          ÁöÁ¤µÈ ¿ÀºêÁ§Æ®¸¸À» ÀúÀåÇϰí ÀÖ´Â ºÒº¯ÀÇ ¸®½ºÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù.
static Map singletonMap (Object  key, Object  value)
          ÁöÁ¤µÈ °ªÀ¸·Î ÁöÁ¤µÈ ¿ÀºêÁ§Æ®¸¸À» ¸ÅÇÎ ÇÏ´Â ºÒº¯ÀÇ MAP¸¦ µ¹·ÁÁÝ´Ï´Ù.
static void sort (List  list)
          ¿ä¼ÒÀÇ ¡¸ÀÚ¿¬ ¼ø¼­ ºÙÀÌ°í¡¹¿¡ µû¶ó, ÁöÁ¤µÈ ¸®½ºÆ®¸¦ ½Â¼ø¿¡ ¼ÒÆ® ÇÕ´Ï´Ù.
static void sort (List  list, Comparator  c)
          ÁöÁ¤µÈ ÄÞÆÛ·¹ÀÌÅͰ¡ °¡¸®Å°´Â ¼ø¼­¿¡ µû¶ó, ÁöÁ¤µÈ ¸®½ºÆ®¸¦ ¼ÒÆ® ÇÕ´Ï´Ù.
static void swap (List  list, int i, int j)
          ÁöÁ¤µÈ ¸®½ºÆ®ÀÇ ÁöÁ¤µÈ À§Ä¡¿¡ ÀÖ´Â ¿ä¼Ò¸¦ ½º¿Ò ÇÕ´Ï´Ù.
static Collection synchronizedCollection (Collection  c)
          ÁöÁ¤µÈ ÄÝ·º¼ÇÀ» ±âº»À¸·Î ÇÏ´Â µ¿±â (thread¿¡ ´ëÇØ¼­ ¾ÈÀüÇÑ) ÄÝ·º¼ÇÀ» µ¹·ÁÁÝ´Ï´Ù.
static List synchronizedList (List  list)
          ÁöÁ¤µÈ ¸®½ºÆ®¸¦ ±âº»À¸·Î ÇÏ´Â µ¿±â (thread¿¡ ´ëÇØ¼­ ¾ÈÀüÇÑ) ¸®½ºÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù.
static Map synchronizedMap (Map  m)
          ÁöÁ¤µÈ MAP¸¦ ±âº»À¸·Î ÇÏ´Â µ¿±â (thread¿¡ ´ëÇØ¼­ ¾ÈÀüÇÑ) MAP¸¦ µ¹·ÁÁÝ´Ï´Ù.
static Set synchronizedSet (Set  s)
          ÁöÁ¤µÈ ¼¼Æ®¸¦ ±âº»À¸·Î ÇÏ´Â µ¿±â (thread¿¡ ´ëÇØ¼­ ¾ÈÀüÇÑ) ¼¼Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù.
static SortedMap synchronizedSortedMap (SortedMap  m)
          ÁöÁ¤µÈ ¼ÒÆ® MAP¸¦ ±âº»À¸·Î ÇÏ´Â µ¿±â (thread¿¡ ´ëÇØ¼­ ¾ÈÀüÇÑ) ¼ÒÆ® MAP¸¦ µ¹·ÁÁÝ´Ï´Ù.
static SortedSet synchronizedSortedSet (SortedSet  s)
          ÁöÁ¤µÈ ¼ÒÆ® ¼¼Æ®¸¦ ±âº»À¸·Î ÇÏ´Â µ¿±â (thread¿¡ ´ëÇØ¼­ ¾ÈÀüÇÑ) ¼ÒÆ® ¼¼Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù.
static Collection unmodifiableCollection (Collection  c)
          ÁöÁ¤µÈ ÄÝ·º¼ÇÀÇ º¯°æ ºÒ°¡´ÉÇÑ ºä¸¦ µ¹·ÁÁÝ´Ï´Ù.
static List unmodifiableList (List  list)
          ÁöÁ¤µÈ ¸®½ºÆ®ÀÇ º¯°æ ºÒ°¡´ÉÇÑ ºä¸¦ µ¹·ÁÁÝ´Ï´Ù.
static Map unmodifiableMap (Map  m)
          ÁöÁ¤µÈ MAPÀÇ º¯°æ ºÒ°¡´ÉÇÑ ºä¸¦ µ¹·ÁÁÝ´Ï´Ù.
static Set unmodifiableSet (Set  s)
          ÁöÁ¤µÈ ¼¼Æ®ÀÇ º¯°æ ºÒ°¡´ÉÇÑ ºä¸¦ µ¹·ÁÁÝ´Ï´Ù.
static SortedMap unmodifiableSortedMap (SortedMap  m)
          ÁöÁ¤µÈ ¼ÒÆ® MAPÀÇ º¯°æ ºÒ°¡´ÉÇÑ ºä¸¦ µ¹·ÁÁÝ´Ï´Ù.
static SortedSet unmodifiableSortedSet (SortedSet  s)
          ÁöÁ¤µÈ ¼ÒÆ® ¼¼Æ®ÀÇ º¯°æ ºÒ°¡´ÉÇÑ ºä¸¦ µ¹·ÁÁÝ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ¿¡¼­ »ó¼Ó¹ÞÀº ¸Þ¼Òµå
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

ÇʵåÀÇ »ó¼¼

EMPTY_SET

public static final Set  EMPTY_SET
Çϴü¼Æ®ÀÔ´Ï´Ù (ºÒº¯). ÀÌ ¼¼Æ®´Â Á÷·ÄÈ­ °¡´ÉÇÕ´Ï´Ù.


EMPTY_LIST

public static final List  EMPTY_LIST
ÇÏ´ÃÀÇ ¸®½ºÆ®ÀÔ´Ï´Ù (ºÒº¯). ÀÌ ¸®½ºÆ®´Â Á÷·ÄÈ­ °¡´ÉÇÕ´Ï´Ù.


EMPTY_MAP

public static final Map  EMPTY_MAP
ÇÏ´ÃÀÇ MAPÀÔ´Ï´Ù (ºÒº¯). ÀÌ MAP´Â Á÷·ÄÈ­ °¡´ÉÇÕ´Ï´Ù.

µµÀÔµÈ ¹öÁ¯:
1.3
¸Þ¼ÒµåÀÇ »ó¼¼

sort

public static void sort(List  list)
¿ä¼ÒÀÇ ¡¸ÀÚ¿¬ ¼ø¼­ ºÙÀÌ°í¡¹¿¡ µû¶ó, ÁöÁ¤µÈ ¸®½ºÆ®¸¦ ½Â¼ø¿¡ ¼ÒÆ® ÇÕ´Ï´Ù. ¸®½ºÆ®ÀÇ ¸ðµç ¿ä¼Ò´Â Comparable ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇϰí ÀÖÀ» Çʿ䰡 ÀÖ½À´Ï´Ù. °Ô´Ù°¡ ¸®½ºÆ®ÀÇ ¸ðµç ¿ä¼Ò´Â ¡¸¼­·Î ºñ±³ °¡´É¡¹ÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. Áï,e1.compareTo(e2) ´Â ¸®½ºÆ®ÀÇ ¿ä¼Ò°¡ e1 ¿Í e2 ÀÇ °æ¿ì,ClassCastException ¸¦ ½½·Î¿ì ÇØ¾ß ÇÏÁö´Â ¾Ê½À´Ï´Ù.

ÀÌ ¼ÒÆ®´Â °íÁ¤ÀÎ °ÍÀÌ ÇÁ·ÎÅØ¼ÇµÇ°í ÀÖ½À´Ï´Ù. Áï, ¼ÒÆ®¸¦ ½ÇÇàÇØµµ, µ¿µîÀÇ ¿ä¼ÒÀÇ ¼ø¼­´Â ¹Ù²îÁö ¾Ê½À´Ï´Ù.

ÁöÁ¤µÈ ¸®½ºÆ®´Â º¯°æ °¡´ÉÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù, »çÀÌÁî º¯°æÀº ÇÒ ¼ö ¾ø¾îµµ ±¦Âú½À´Ï´Ù.

¼ÒÆ® ¾Ë°í¸®ÁòÀº ¼öÁ¤ merge ¼ÒÆ®ÀÔ´Ï´Ù. ÀÌ ¼ÒÆ®¿¡¼­´Â ÇÏÀ§ÀÇ »çºê¸® ÆÄ¾÷¿¡ À־ÀÇ ÃÖ°í ·¹º§ÀÇ ¿ä¼Ò°¡ »óÀ§ÀÇ »çºê¸® ÆÄ¾÷¿¡ À־ÀÇ ÃÖÀú ·¹º§ÀÇ ¿ä¼Òº¸´Ù ÀÛÀº °æ¿ì, merge´Â »ý·« µË´Ï´Ù. ÀÌ ¾Ë°í¸®ÁòÀº Ç×»ó n log(n)ÀÇ ÆÛÆ÷¸Õ½º¸¦ Á¦°øÇØ, °ÅÀÇ ¼ÒÆ® µÈ ¸®½ºÆ®¿¡¼­´Â ÆÛÆ÷¸Õ½º´Â ÀÏÂ÷½Ä¿¡ °¡±î¿öÁö´Â °æ¿ìµµ ÀÖ½À´Ï´Ù.

ÀÌ ±¸ÇöÀº ÁöÁ¤µÈ ¸®½ºÆ®ÀÇ ¹è¿­¿¡ÀÇ ´ýÇÁ, ¹è¿­ÀÇ ¼ÒÆ®, ¸®½ºÆ®¿¡¼­ÀÇ ¹Ýº¹ 󸮸¦ ½Ç½ÃÇÏ´Â °ÍÀ¸·Î, ¹è¿­ÀÇ ´ëÀÀÇÏ´Â À§Ä¡·ÎºÎÅÍ °¢ ¿ä¼Ò¸¦ Àç¼³Á¤ÇÕ´Ï´Ù. À̰ÍÀº ¸µÅ© µÈ ¸®½ºÆ®¸¦ Àû¼Ò¿¡ ¼ÒÆ® ÇÏ·Á°í ÇßÀ» °æ¿ìÀÇ n2 log(n)ÀÇ ÆÛÆ÷¸Õ½º°¡ µÇ´Â °ÍÀ» ȸÇÇÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
list - ¼ÒÆ® µÇ´Â ¸®½ºÆ®
¿¹¿Ü:
ClassCastException - ¸®½ºÆ®¿¡ ¡¸¼­·Î ºñ±³ °¡´É¡¹ÀÌ ¾Æ´Ñ ¿ä¼Ò (¿¹¸¦ µé¾î, ij¸¯ÅÍ ¶óÀΰú Á¤¼ö)°¡ ÀÖ´Â °æ¿ì
UnsupportedOperationException - ÁöÁ¤µÈ ¸®½ºÆ®ÀÇ ¸®½ºÆ® ¹Ýº¹ÀÚ°¡ set ¿ÀÆÛ·¹À̼ÇÀ» ¼­Æ÷Æ®ÇÏÁö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
Comparable

sort

public static void sort(List  list,
                        Comparator  c)
ÁöÁ¤µÈ ÄÞÆÛ·¹ÀÌÅͰ¡ °¡¸®Å°´Â ¼ø¼­¿¡ µû¶ó, ÁöÁ¤µÈ ¸®½ºÆ®¸¦ ¼ÒÆ® ÇÕ´Ï´Ù. ¸®½ºÆ®ÀÇ ¸ðµç ¿ä¼Ò´Â ÁöÁ¤µÈ ÄÞÆÛ·¹ÀÌÅÍ¿¡ ÀÇÇØ ¡¸¼­·Î ºñ±³ °¡´É¡¹ÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. Áï,c.compare(e1, e2) ´Â ¸®½ºÆ®ÀÇ ¿ä¼Ò°¡ e1 ¿Í e2 ÀÇ °æ¿ì ClassCastException ¸¦ ½½·Î¿ì ÇØ¾ß ÇÏÁö´Â ¾Ê½À´Ï´Ù.

ÀÌ ¼ÒÆ®´Â °íÁ¤ÀÎ °ÍÀÌ ÇÁ·ÎÅØ¼ÇµÇ°í ÀÖ½À´Ï´Ù. Áï, ¼ÒÆ®¸¦ ½ÇÇàÇØµµ, µ¿µîÀÇ ¿ä¼ÒÀÇ ¼ø¼­´Â ¹Ù²îÁö ¾Ê½À´Ï´Ù.

¼ÒÆ® ¾Ë°í¸®ÁòÀº ¼öÁ¤ merge ¼ÒÆ®ÀÔ´Ï´Ù. ÀÌ ¼ÒÆ®¿¡¼­´Â ÇÏÀ§ÀÇ »çºê¸® ÆÄ¾÷¿¡ À־ÀÇ ÃÖ°í ·¹º§ÀÇ ¿ä¼Ò°¡ »óÀ§ÀÇ »çºê¸® ÆÄ¾÷¿¡ À־ÀÇ ÃÖÀú ·¹º§ÀÇ ¿ä¼Òº¸´Ù ÀÛÀº °æ¿ì, merge´Â »ý·« µË´Ï´Ù. ÀÌ ¾Ë°í¸®ÁòÀº Ç×»ó n log(n)ÀÇ ÆÛÆ÷¸Õ½º¸¦ Á¦°øÇØ, °ÅÀÇ ¼ÒÆ® µÈ ¸®½ºÆ®¿¡¼­´Â ÆÛÆ÷¸Õ½º´Â ÀÏÂ÷½Ä¿¡ °¡±î¿öÁö´Â °æ¿ìµµ ÀÖ½À´Ï´Ù.

ÁöÁ¤µÈ ¸®½ºÆ®´Â º¯°æ °¡´ÉÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù, »çÀÌÁî º¯°æÀº ÇÒ ¼ö ¾ø¾îµµ ±¦Âú½À´Ï´Ù. ÀÌ ±¸ÇöÀº ÁöÁ¤µÈ ¸®½ºÆ®ÀÇ ¹è¿­¿¡ÀÇ ´ýÇÁ, ¹è¿­ÀÇ ¼ÒÆ®, ¸®½ºÆ®ÀÇ ¹Ýº¹ 󸮸¦ ½Ç½ÃÇÏ´Â °ÍÀ¸·Î, ¹è¿­ÀÇ ´ëÀÀÇÏ´Â À§Ä¡·ÎºÎÅÍ °¢ ¿ä¼Ò¸¦ Àç¼³Á¤ÇÕ´Ï´Ù. À̰ÍÀº ¸µÅ© µÈ ¸®½ºÆ®¸¦ Àû¼Ò¿¡ ¼ÒÆ® ÇÏ·Á°í ÇßÀ» °æ¿ìÀÇ n2 log(n)ÀÇ ÆÛÆ÷¸Õ½º°¡ µÇ´Â °ÍÀ» ȸÇÇÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
list - ¼ÒÆ® µÇ´Â ¸®½ºÆ®
c - ¸®½ºÆ®ÀÇ ¼ø¼­¸¦ °áÁ¤ÇÏ´Â ÄÞÆÛ·¹ÀÌÅÍ. null Ä¡´Â ¿ä¼ÒÀÇ ¡¸ÀÚ¿¬ ¼ø¼­ ºÙÀÌ°í¡¹¸¦ »ç¿ëÇÏ´Â °ÍÀ» ³ªÅ¸³½´Ù
¿¹¿Ü:
ClassCastException - ¸®½ºÆ®·Î ÁöÁ¤µÈ ÄÞÆÛ·¹ÀÌÅÍ·Î ¡¸¼­·Î ºñ±³¡¹ÇÒ ¼ö ¾ø´Â ¿ä¼Ò°¡ ÀÖ´Â °æ¿ì
UnsupportedOperationException - ÁöÁ¤µÈ ¸®½ºÆ®ÀÇ ¸®½ºÆ® ¹Ýº¹ÀÚ°¡ set ¿ÀÆÛ·¹À̼ÇÀ» ¼­Æ÷Æ®ÇÏÁö ¾Ê´Â °æ¿ì
°ü·Ã Ç׸ñ:
Comparator

binarySearch

public static int binarySearch(List  list,
                               Object  key)
¹ÙÀ̳ʸ® ¼­Ä¡ ¾Ë°í¸®ÁòÀ» »ç¿ëÇØ, ÁöÁ¤µÈ ¸®½ºÆ®·ÎºÎÅÍ ÁöÁ¤µÈ ¿ÀºêÁ§Æ®¸¦ °Ë»öÇÕ´Ï´Ù. ¸®½ºÆ®´Â ÀÌ È£ÃâÀü¿¡, Àü¼úÀÇ sort(List) ¸Þ¼Òµå¸¦ »ç¿ëÇØ ¿ä¼ÒÀÇ ¡¸ÀÚ¿¬ ¼ø¼­ ºÙÀÌ°í¡¹¿¡ µû¶ó ½Â¼ø¿¡ ¼ÒÆ® ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ¼ÒÆ®µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, °á°ú´Â Á¤ÀǵÇÁö ¾Ê½À´Ï´Ù. ÁöÁ¤µÈ ¿ÀºêÁ§Æ®¿Í µ¿ÀÏÇÑ ¿ä¼Ò°¡ ¸®½ºÆ®¿¡ ´Ù¼ö ÀÖ´Â °æ¿ì, ¾î¶² °ÍÀÌ ¹ß°ßµÉ±î´Â ÇÁ·ÎÅØ¼ÇµÇÁö ¾Ê½À´Ï´Ù.

¡¸·£´ý ¾ï¼¼½º¡¹¸®½ºÆ®ÀÇ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â log(n) ½Ã°£¿¡ µ¿ÀÛÇÕ´Ï´Ù (À§Ä¡¸¦ ÁöÁ¤ÇÑ ¾×¼¼½º¿¡ °ÅÀÇ ÀÏÁ¤ÇÑ ½Ã°£ÀÌ ÇÊ¿ä). ÁöÁ¤µÈ ¸®½ºÆ®°¡ RandomAccess ¡¡(À»)¸¦ ±¸ÇöÇÏÁö ¾Ê°í Å« ¸®½ºÆ®ÀÎ °æ¿ì, O(n) ¸µÅ© È£¶ûÀÌ ¿ë±â¿Í O(log n) ¿ä¼Ò ºñ±³¸¦ ½ÇÇàÇÏ´Â ¹Ýº¹ÀÚ º£À̽ºÀÇ ¹ÙÀ̳ʸ® ¼­Ä¡¸¦, ÀÌ ¸Þ¼Òµå´Â ½Ç½ÃÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
list - °Ë»öµÇ´Â ¸®½ºÆ®
key - °Ë»öµÇ´Â Ű
¹Ýȯ°ª:
¸®½ºÆ®¿¡ °Ë»ö ۰¡ ÀÖ´Â °æ¿ì´Â °Ë»ö ŰÀÇ À妽º. °Ë»ö ۰¡ ¸®½ºÆ®¿¡ ¾ø´Â °æ¿ì´Â (-(»ðÀÔ Æ÷ÀÎÆ®) - 1). »ðÀÔ Æ÷ÀÎÆ®¶õ, ¸®½ºÆ®·Î ۰¡ »ðÀԵǴ Æ÷ÀÎÆ®ÀÌ´Ù. Áï, Űº¸´Ù Å« ÃÖÃÊÀÇ ¿ä¼ÒÀÇ À妽ºÀΰ¡, ¸®½ºÆ®ÀÇ ¸ðµç ¿ä¼Ò°¡ ÁöÁ¤µÈ Űº¸´Ù ÀÛÀº °æ¿ì´Â list.size(). À̰Ϳ¡ ÀÇÇØ, ۰¡ ¹ß°ßµÇ¾úÀ» °æ¿ì¿¡¸¸ ¹Ýȯ°ªÀÌ >= 0 ÀÌ µÇ´Â °ÍÀÌ ÇÁ·ÎÅØ¼ÇµÈ´Ù
¿¹¿Ü:
ClassCastException - ¸®½ºÆ®¿¡ ¡¸¼­·Î ºñ±³ °¡´É¡¹ÀÌ ¾Æ´Ñ ¿ä¼Ò (¿¹¸¦ µé¾î, ij¸¯ÅÍ ¶óÀΰú Á¤¼ö)°¡ ÀÖ´Â °æ¿ì, ¶Ç´Â °Ë»ö ۰¡ ¸®½ºÆ®ÀÇ ¿ä¼Ò·Î ¼­·Î ºñ±³ °¡´ÉÇÏÁö ¾ÊÀº °æ¿ì
°ü·Ã Ç׸ñ:
Comparable , sort(List)

binarySearch

public static int binarySearch(List  list,
                               Object  key,
                               Comparator  c)
¹ÙÀ̳ʸ® ¼­Ä¡ ¾Ë°í¸®ÁòÀ» »ç¿ëÇØ, ÁöÁ¤µÈ ¸®½ºÆ®·ÎºÎÅÍ ÁöÁ¤µÈ ¿ÀºêÁ§Æ®¸¦ °Ë»öÇÕ´Ï´Ù. ¸®½ºÆ®´Â ÀÌ È£ÃâÀü¿¡,Sort(List, Comparator) ¸Þ¼Òµå¸¦ »ç¿ëÇØ, ÁöÁ¤µÈ ÄÞÆÛ·¹ÀÌÅÍ¿¡ µû¶ó ½Â¼ø¿¡ ¼ÒÆ® ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. ¸®½ºÆ®°¡ ¼ÒÆ®µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, °á°ú´Â Á¤ÀǵÇÁö ¾Ê½À´Ï´Ù. ÁöÁ¤µÈ ¿ÀºêÁ§Æ®¿Í µ¿ÀÏÇÑ ¿ä¼Ò°¡ ¸®½ºÆ®¿¡ ´Ù¼ö ÀÖ´Â °æ¿ì, ¾î¶² °ÍÀÌ ¹ß°ßµÉ±î´Â ÇÁ·ÎÅØ¼ÇµÇÁö ¾Ê½À´Ï´Ù.

¡¸·£´ý ¾ï¼¼½º¡¹¸®½ºÆ®ÀÇ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â log(n) ½Ã°£¿¡ µ¿ÀÛÇÕ´Ï´Ù (À§Ä¡¸¦ ÁöÁ¤ÇÑ ¾×¼¼½º¿¡ °ÅÀÇ ÀÏÁ¤ÇÑ ½Ã°£ÀÌ ÇÊ¿ä). ÁöÁ¤ ¸®½ºÆ®°¡ RandomAccess ¡¡(À»)¸¦ ±¸ÇöÇÏÁö ¾Ê°í Å« °æ¿ì´Â O(n) ¸µÅ© È£¶ûÀÌ ¿ë±â¿Í O(log n) ¿ä¼Ò ºñ±³¸¦ ½ÇÇàÇÏ´Â ¹Ýº¹ÀÚ º£À̽ºÀÇ ¹ÙÀ̳ʸ® ¼­Ä¡¸¦, ÀÌ ¸Þ¼Òµå´Â ½Ç½ÃÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
list - °Ë»öµÇ´Â ¸®½ºÆ®
key - °Ë»öµÇ´Â Ű
c - ¸®½ºÆ®°¡ ¼ø¼­ ºÙÀÌ°í µÇ´Â ÄÞÆÛ·¹ÀÌÅÍ. null Ä¡´Â ¿ä¼ÒÀÇ ¡¸ÀÚ¿¬ ¼ø¼­ ºÙÀÌ°í¡¹¸¦ »ç¿ëÇÏ´Â °ÍÀ» ³ªÅ¸³½´Ù
¹Ýȯ°ª:
¸®½ºÆ®¿¡ °Ë»ö ۰¡ ÀÖ´Â °æ¿ì´Â °Ë»ö ŰÀÇ À妽º. °Ë»ö ۰¡ ¸®½ºÆ®¿¡ ¾ø´Â °æ¿ì´Â (-(»ðÀÔ Æ÷ÀÎÆ®) - 1). »ðÀÔ Æ÷ÀÎÆ®¶õ, ¸®½ºÆ®·Î ۰¡ »ðÀԵǴ Æ÷ÀÎÆ®ÀÌ´Ù. Áï, Űº¸´Ù Å« ÃÖÃÊÀÇ ¿ä¼ÒÀÇ À妽ºÀΰ¡, ¸®½ºÆ®ÀÇ ¸ðµç ¿ä¼Ò°¡ ÁöÁ¤µÈ Űº¸´Ù ÀÛÀº °æ¿ì´Â list.size(). À̰Ϳ¡ ÀÇÇØ, ۰¡ ¹ß°ßµÇ¾úÀ» °æ¿ì¿¡¸¸ ¹Ýȯ°ªÀÌ >= 0 ÀÌ µÇ´Â °ÍÀÌ ÇÁ·ÎÅØ¼ÇµÈ´Ù
¿¹¿Ü:
ClassCastException - ¸®½ºÆ®·Î ÁöÁ¤µÈ ÄÞÆÛ·¹ÀÌÅÍ·Î ¡¸¼­·Î ºñ±³ °¡´É¡¹ÀÌ ¾Æ´Ñ ¿ä¼Ò°¡ ÀÖ´Â °æ¿ì, ¶Ç´Â °Ë»ö ۰¡ ÀÌ ÄÞÆÛ·¹ÀÌÅ͸¦ »ç¿ëÇØ ¸®½ºÆ®ÀÇ ¿ä¼Ò·Î ¼­·Î ºñ±³ÇÒ ¼ö ¾ø´Â °æ¿ì
°ü·Ã Ç׸ñ:
Comparable , sort(List, Comparator)

reverse

public static void reverse(List  list)
ÁöÁ¤µÈ ¸®½ºÆ®ÀÇ ¿ä¼ÒÀÇ ¼ø¼­¸¦ ¹Ý´ë·Î ÇÕ´Ï´Ù.

ÀÌ ¸Þ¼Òµå´Â ÀÏÂ÷ ½Ã°£¿¡ µ¿ÀÛÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
list - ¿ä¼ÒÀÇ ¼ø¼­°¡ ¹Ý´ë·Î µÇ´Â ¸®½ºÆ®
¿¹¿Ü:
UnsupportedOperationException - ÁöÁ¤µÈ ¸®½ºÆ® ¶Ç´Â ±× ¸®½ºÆ® ¹Ýº¹ÀÚ°¡ set ¸Þ¼Òµå¸¦ ¼­Æ÷Æ®ÇÏÁö ¾Ê´Â °æ¿ì

shuffle

public static void shuffle(List  list)
µðÆúÆ®ÀÇ random number generationÀÇ ¿øÀ» »ç¿ëÇØ, ÁöÁ¤µÈ ¸®½ºÆ®ÀÇ ¼ø¼­¸¦ ¹«ÀÛÀ§·Î ¹Ù²ã ³Ö½À´Ï´Ù. ¸ðµç Æí¼ºÀÌ, °ÅÀÇ ±ÕµîÀÎ È®·ü·Î ¹ß»ýÇÕ´Ï´Ù.

»ó±âÀÇ ¼³¸íÀ¸·Î ¡¸°ÅÀÇ¡¹¶ó°í ÇÏ´Â ¸»À» »ç¿ëÇϰí ÀÖ´Â °ÍÀº random number generationÀÇ ¿øÀÌ µÇ´Â µðÆúÆ®ÀÇ ¼Ò½º°¡, µ¶¸³ÇØ ¼±ÅÃµÈ ºñÆ®ÀÇ ¼Ò½º·Î¼­ ÆíÇâÀÌ ¾ø´Â °ÍÀº ±Ù»çÀûÀ¸·Î ¸¶¼Å ¼º¸³Çϱ⠶§¹®ÀÔ´Ï´Ù. ·£´ý¿¡ ¼±ÅÃµÈ ¿ÏÀüÇÑ ¼Ò½ºÀ̸é, ¾Ë°í¸®ÁòÀÌ Æí¼ºÀ» ¼±ÅÃÇÏ´Â È®·üÀº ¿ÏÀüÇÏ°Ô ÇѰᰰ°Ô µË´Ï´Ù.

ÀÌ ±¸ÇöÀº ¸®½ºÆ®ÀÇ ¸¶Áö¸· ¿ä¼Ò·ÎºÎÅÍ 2 ¹øÂ°ÀÇ ¿ä¼Ò±îÁö ¿ª¹æÇâÀ¸·Î ´õµë¾î, ¹«ÀÛÀ§·Î ¼±ÅÃµÈ ¿ä¼Ò¸¦ ¡¸ÇöÀçÀÇ À§Ä¡¡¹¿¡ ¹Ýº¹ÇØ ¹Ù²ã ³Ö½À´Ï´Ù. ¿ä¼Ò´Â ¸®½ºÆ®ÀÇ ÃÖÃÊÀÇ ¿ä¼Ò·ÎºÎÅÍ ÇöÀçÀÇ À§Ä¡±îÁöÀÇ ¹üÀ§¿¡¼­ ¹«ÀÛÀ§·Î ¼±Åõ˴ϴÙ.

ÀÌ ¸Þ¼Òµå´Â 1 Â÷ ½Ã°£¿¡ µ¿ÀÛÇÕ´Ï´Ù. ÁöÁ¤µÈ ¸®½ºÆ®°¡ RandomAccess ¸¦ ±¸ÇöÇÏÁö ¾Ê°í Å« ¸®½ºÆ®ÀÎ °æ¿ì, ¸®½ºÆ®ÀÇ ¼ø¼­¸¦ ¹Ù²ã ³Ö±â Àü¿¡, ÀÌ ±¸ÇöÀº ÁöÁ¤µÈ ¸®½ºÆ®¸¦ ¹è¿­¿¡ ´ýÇÁ ÇØ, ´ÙÀ½À¸·Î ¹Ù²Ù¾î ³ÖÀº ¹è¿­À» ¸®½ºÆ®¿¡ ´ýÇÁ ÇØ µÇµ¹¸³´Ï´Ù. ÀûÀýÈ÷ ¡¸Â÷·ÊÂ÷·Ê ¾×¼¼½º¡¹¸®½ºÆ®ÀÇ ¼ø¼­¸¦ ¹Ù²ã ³Ö´Â °Í¿¡ ÀÇÇØ ÀϾ´Â 2 Â÷ µ¿ÀÛÀ» ÇÇÇϱâ (À§ÇØ)¶§¹®¿¡ÀÔ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
list - ¼ø¼­¸¦ ¹Ù²ã ³ÖÀ» ¼ö ÀÖ´Â ¸®½ºÆ®
¿¹¿Ü:
UnsupportedOperationException - ÁöÁ¤µÈ ¸®½ºÆ® ¶Ç´Â ±× ¸®½ºÆ® ¹Ýº¹ÀÚ°¡ set ¸Þ¼Òµå¸¦ ¼­Æ÷Æ®ÇÏÁö ¾Ê´Â °æ¿ì

shuffle

public static void shuffle(List  list,
                           Random  rnd)
µðÆúÆ®ÀÇ random number generationÀÇ ¿øÀ» »ç¿ëÇØ, ÁöÁ¤µÈ ¸®½ºÆ®ÀÇ ¼ø¼­¸¦ ¹«ÀÛÀ§·Î ¹Ù²ã ³Ö½À´Ï´Ù. random number generationÀÇ ¿øÀÌ ÇѰᰰÀ¸¸é, ¸ðµç Æí¼ºÀº ±ÕµîÀÎ È®·ü·Î ¹ß»ýÇÕ´Ï´Ù.

ÀÌ ±¸ÇöÀº ¸®½ºÆ®ÀÇ ¸¶Áö¸· ¿ä¼Ò·ÎºÎÅÍ 2 ¹øÂ°ÀÇ ¿ä¼Ò±îÁö ¿ª¹æÇâÀ¸·Î ´õµë¾î, ¹«ÀÛÀ§·Î ¼±ÅÃµÈ ¿ä¼Ò¸¦ ¡¸ÇöÀçÀÇ À§Ä¡¡¹¿¡ ¹Ýº¹ÇØ ¹Ù²ã ³Ö½À´Ï´Ù. ¿ä¼Ò´Â ¸®½ºÆ®ÀÇ ÃÖÃÊÀÇ ¿ä¼Ò·ÎºÎÅÍ ÇöÀçÀÇ À§Ä¡±îÁöÀÇ ¹üÀ§¿¡¼­ ¹«ÀÛÀ§·Î ¼±Åõ˴ϴÙ.

ÀÌ ¸Þ¼Òµå´Â 1 Â÷ ½Ã°£¿¡ µ¿ÀÛÇÕ´Ï´Ù. ÁöÁ¤µÈ ¸®½ºÆ®°¡ RandomAccess ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏÁö ¾Ê´Â Å« ¸®½ºÆ®ÀÎ °æ¿ì, ¸®½ºÆ®ÀÇ ¼ø¼­¸¦ ¹Ù²ã ³Ö±â Àü¿¡, ÀÌ ±¸ÇöÀº ÁöÁ¤µÈ ¸®½ºÆ®¸¦ ¹è¿­¿¡ ´ýÇÁ ÇØ, ´ÙÀ½À¸·Î ¹Ù²Ù¾î ³ÖÀº ¹è¿­À» ¸®½ºÆ®¿¡ ´ýÇÁ ÇØ µÇµ¹¸³´Ï´Ù. ÀûÀýÈ÷ ¡¸Â÷·ÊÂ÷·Ê ¾×¼¼½º¡¹¸®½ºÆ®ÀÇ ¼ø¼­¸¦ ¹Ù²ã ³Ö´Â °Í¿¡ ÀÇÇØ ÀϾ´Â 2 Â÷ µ¿ÀÛÀ» ÇÇÇϱâ (À§ÇØ)¶§¹®¿¡ÀÔ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
list - ¼ø¼­¸¦ ¹Ù²ã ³ÖÀ» ¼ö ÀÖ´Â ¸®½ºÆ®
rnd - ¸®½ºÆ®ÀÇ ¼ø¼­¸¦ ¹Ù²ã ³Ö±â À§Çؼ­(¶§¹®¿¡) »ç¿ëÇÏ´Â random number generationÀÇ ¿ø
¿¹¿Ü:
UnsupportedOperationException - ÁöÁ¤µÈ ¸®½ºÆ® ¶Ç´Â ±× ¸®½ºÆ® ¹Ýº¹ÀÚ°¡ set ¿ÀÆÛ·¹À̼ÇÀ» ¼­Æ÷Æ®ÇÏÁö ¾Ê´Â °æ¿ì

swap

public static void swap(List  list,
                        int i,
                        int j)
ÁöÁ¤µÈ ¸®½ºÆ®ÀÇ ÁöÁ¤µÈ À§Ä¡¿¡ ÀÖ´Â ¿ä¼Ò¸¦ ½º¿Ò ÇÕ´Ï´Ù. ÁöÁ¤µÈ À§Ä¡°¡ °°Àº °æ¿ì, ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇØµµ, ¸®½ºÆ®´Â º¯°æµÇÁö ¾Ê½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
list - ¿ä¼Ò¸¦ ½º¿Ò ÇÏ´Â ¸®½ºÆ®
i - ½º¿Ò µÇ´Â 1 °³ÀÇ ¿ä¼ÒÀÇ À妽º
j - ½º¿Ò µÇ´Â ÀÌÁ¦(¹ú½á) 1 °³ÀÇ ¿ä¼ÒÀÇ À妽º
¿¹¿Ü:
IndexOutOfBoundsException - i ¶Ç´Â j Áß ÇÑÂÊÀÌ ¹üÀ§¿ÜÀÇ °æ¿ì (i < 0 || i >= list.size() || j < 0 || j >= list.size())
µµÀÔµÈ ¹öÁ¯:
1.4

fill

public static void fill(List  list,
                        Object  obj)
ÁöÁ¤µÈ ¸®½ºÆ®ÀÇ ¸ðµç ¿ä¼Ò°¡ ÁöÁ¤µÈ ¿ä¼Ò·Î ¿Å°Ü³õ½À´Ï´Ù.

ÀÌ ¸Þ¼Òµå´Â 1 Â÷ ½Ã°£¿¡ µ¿ÀÛÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
list - ÁöÁ¤µÈ ¿ä¼Ò°¡ »ðÀԵǴ ¸®½ºÆ®
obj - ÁöÁ¤µÈ ¸®½ºÆ®¿¡ »ðÀԵǴ ¿ä¼Ò
¿¹¿Ü:
UnsupportedOperationException - ÁöÁ¤µÈ ¸®½ºÆ® ¶Ç´Â ±× ¸®½ºÆ® ¹Ýº¹ÀÚ°¡ set ¿ÀÆÛ·¹À̼ÇÀ» ¼­Æ÷Æ®ÇÏÁö ¾Ê´Â °æ¿ì

copy

public static void copy(List  dest,
                        List  src)
¾î´À ¸®½ºÆ®·ÎºÎÅÍ ´Ù¸¥ ¸®½ºÆ®¿¡ ¸ðµç ¿ä¼Ò¸¦ Ä«ÇÇÇÕ´Ï´Ù. ÀÌ ¿ÀÆÛ·¹À̼ÇÀÇ µÚ, Ä«ÇÇóÀÇ ¸®½ºÆ®¿¡ Ä«ÇÇµÈ °¢ ¿ä¼ÒÀÇ À妽º´Â Ä«ÇÇ¿øÀÇ ¸®½ºÆ®ÀÇ À妽º¿Í °°°Ô µË´Ï´Ù. Ä«ÇÇóÀÇ ¸®½ºÆ®´Â Àû¾îµµ Ä«ÇÇ¿øÀÇ ¸®½ºÆ®¿Í °°Àº ±æÀ̰¡ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. Ä«ÇÇóÀÇ ¸®½ºÆ®°¡ ±ä °æ¿ì¿¡¼­µµ, Ä«ÇÇóÀÇ ¸®½ºÆ®ÀÇ ³ª¸ÓÁöÀÇ ¿ä¼Ò´Â ¿µÇâÀ» ¹ÞÁö ¾Ê½À´Ï´Ù.

ÀÌ ¸Þ¼Òµå´Â 1 Â÷ ½Ã°£¿¡ µ¿ÀÛÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
dest - Ä«ÇÇóÀÇ ¸®½ºÆ®
src - Ä«ÇÇ¿øÀÇ ¸®½ºÆ®
¿¹¿Ü:
IndexOutOfBoundsException - Ä«ÇÇóÀÇ ¸®½ºÆ®°¡ Ä«ÇÇ¿øÀÇ ¸®½ºÆ® Àüü¸¦ ÀúÀåÇϱ⿡´Â ³Ê¹« ÀÛÀº °æ¿ì
UnsupportedOperationException - Ä«ÇÇ ¸®½ºÆ®ÀÇ ¸®½ºÆ® ¹Ýº¹ÀÚ°¡ set ¿ÀÆÛ·¹À̼ÇÀ» ¼­Æ÷Æ®ÇÏÁö ¾Ê´Â °æ¿ì

min

public static Object  min(Collection  coll)
¿ä¼ÒÀÇ ¡¸ÀÚ¿¬ ¼ø¼­ ºÙÀÌ°í¡¹¿¡ µû¶ó, ÁöÁ¤µÈ ÄÝ·º¼ÇÀÇ ÃÖ¼ÒÀÇ ¿ä¼Ò¸¦ µ¹·ÁÁÝ´Ï´Ù. ÄÝ·º¼ÇÀÇ ¸ðµç ¿ä¼Ò´Â Comparable ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇϰí ÀÖÀ» Çʿ䰡 ÀÖ½À´Ï´Ù. °Ô´Ù°¡ ÄÝ·º¼ÇÀÇ ¸ðµç ¿ä¼Ò´Â ¡¸¼­·Î ºñ±³ °¡´É¡¹ÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. Áï,e1.compareTo(e2) ´Â ÄÝ·º¼ÇÀÇ ¿ä¼Ò°¡ e1 ¹× e2 ÀÇ °æ¿ì ClassCastException ¸¦ ½½·Î¿ì ÇØ¾ß ÇÏÁö´Â ¾Ê½À´Ï´Ù.

ÀÌ ¸Þ¼Òµå´Â ÄÝ·º¼Ç Àüü·Î ¹Ýº¹ 󸮸¦ ½Ç½ÃÇϹǷÎ, ÄÝ·º¼ÇÀÇ »çÀÌÁî ¿¡ ºñ·ÊÇÑ ½Ã°£ÀÌ ÇÊ¿äÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
coll - ÃÖ¼ÒÀÇ ¿ä¼Ò¸¦ °áÁ¤ÇÏ´Â ÄÝ·º¼Ç
¹Ýȯ°ª:
¿ä¼ÒÀÇ ¡¸ÀÚ¿¬ ¼ø¼­ ºÙÀÌ°í¡¹¿¡ µû¸¥, ÁöÁ¤µÈ ÄÝ·º¼ÇÀÇ ÃÖ¼ÒÀÇ ¿ä¼Ò
¿¹¿Ü:
ClassCastException - ÄÝ·º¼Ç¿¡ ¡¸¼­·Î ºñ±³ °¡´É¡¹ÀÌ ¾Æ´Ñ ¿ä¼Ò (¿¹¸¦ µé¾î, ij¸¯ÅÍ ¶óÀΰú Á¤¼ö)°¡ ÀÖ´Â °æ¿ì
NoSuchElementException - ÄÝ·º¼ÇÀÌ ºñ¾úÀ» °æ¿ì
°ü·Ã Ç׸ñ:
Comparable

min

public static Object  min(Collection  coll,
                         Comparator  comp)
ÁöÁ¤µÈ ÄÞÆÛ·¹ÀÌÅͰ¡ °¡¸®Å°´Â ¼ø¼­¿¡ µû¶ó, ÁöÁ¤µÈ ÄÝ·º¼ÇÀÇ ÃÖ¼ÒÀÇ ¿ä¼Ò¸¦ µ¹·ÁÁÝ´Ï´Ù. ÄÝ·º¼ÇÀÇ ¸ðµç ¿ä¼Ò´Â ÁöÁ¤µÈ ÄÞÆÛ·¹ÀÌÅÍ·Î ¡¸¼­·Î ºñ±³ °¡´É¡¹ÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. Áï,comp.compare(e1, e2) ´Â ÄÝ·º¼ÇÀÇ ¿ä¼Ò°¡ e1 ¿Í e2 ÀÇ °æ¿ì ClassCastException ¸¦ ½½·Î¿ì ÇØ¾ß ÇÏÁö´Â ¾Ê½À´Ï´Ù.

ÀÌ ¸Þ¼Òµå´Â ÄÝ·º¼Ç Àüü·Î ¹Ýº¹ 󸮸¦ ½Ç½ÃÇϹǷÎ, ÄÝ·º¼ÇÀÇ »çÀÌÁî ¿¡ ºñ·ÊÇÑ ½Ã°£ÀÌ ÇÊ¿äÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
coll - ÃÖ¼ÒÀÇ ¿ä¼Ò¸¦ °áÁ¤ÇÏ´Â ÄÝ·º¼Ç
comp - ÃÖ¼ÒÀÇ ¿ä¼Ò ¸®½ºÆ®°¡ °áÁ¤µÇ´Â ÄÞÆÛ·¹ÀÌÅÍ. null Ä¡´Â ¿ä¼ÒÀÇ ¡¸ÀÚ¿¬ ¼ø¼­ ºÙÀÌ°í¡¹¸¦ »ç¿ëÇÏ´Â °ÍÀ» ³ªÅ¸³½´Ù
¹Ýȯ°ª:
ÁöÁ¤µÈ ÄÞÆÛ·¹ÀÌÅÍ¿¡ µû¸¥, ÁöÁ¤µÈ ÄÝ·º¼ÇÀÇ ÃÖ¼ÒÀÇ ¿ä¼Ò
¿¹¿Ü:
ClassCastException - ÄÝ·º¼ÇÀ¸·Î ÁöÁ¤µÈ ÄÞÆÛ·¹ÀÌÅÍ·Î ¡¸¼­·Î ºñ±³¡¹ÇÒ ¼ö ¾ø´Â ¿ä¼Ò°¡ ÀÖ´Â °æ¿ì
NoSuchElementException - ÄÝ·º¼ÇÀÌ ºñ¾úÀ» °æ¿ì
°ü·Ã Ç׸ñ:
Comparable

max

public static Object  max(Collection  coll)
¿ä¼ÒÀÇ ¡¸ÀÚ¿¬ ¼ø¼­ ºÙÀÌ°í¡¹¿¡ µû¶ó, ÁöÁ¤µÈ ÄÝ·º¼ÇÀÇ ÃÖ´ëÀÇ ¿ä¼Ò¸¦ µ¹·ÁÁÝ´Ï´Ù. ÄÝ·º¼ÇÀÇ ¸ðµç ¿ä¼Ò´Â Comparable ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇϰí ÀÖÀ» Çʿ䰡 ÀÖ½À´Ï´Ù. °Ô´Ù°¡ ÄÝ·º¼ÇÀÇ ¸ðµç ¿ä¼Ò´Â ¡¸¼­·Î ºñ±³ °¡´É¡¹ÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. Áï,e1.compareTo(e2) ´Â ÄÝ·º¼ÇÀÇ ¿ä¼Ò°¡ e1 ¿Í e2 ÀÇ °æ¿ì ClassCastException ¸¦ ½½·Î¿ì ÇØ¾ß ÇÏÁö´Â ¾Ê½À´Ï´Ù.

ÀÌ ¸Þ¼Òµå´Â ÄÝ·º¼Ç Àüü·Î ¹Ýº¹ 󸮸¦ ½Ç½ÃÇϹǷÎ, ÄÝ·º¼ÇÀÇ »çÀÌÁî ¿¡ ºñ·ÊÇÑ ½Ã°£ÀÌ ÇÊ¿äÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
coll - ÃÖ´ëÀÇ ¿ä¼Ò¸¦ °áÁ¤ÇÏ´Â ÄÝ·º¼Ç
¹Ýȯ°ª:
¿ä¼ÒÀÇ ¡¸ÀÚ¿¬ ¼ø¼­ ºÙÀÌ°í¡¹¿¡ µû¸¥, ÁöÁ¤µÈ ÄÝ·º¼ÇÀÇ ÃÖ´ëÀÇ ¿ä¼Ò
¿¹¿Ü:
ClassCastException - ÄÝ·º¼Ç¿¡ ¡¸¼­·Î ºñ±³ °¡´É¡¹ÀÌ ¾Æ´Ñ ¿ä¼Ò (¿¹¸¦ µé¾î, ij¸¯ÅÍ ¶óÀΰú Á¤¼ö)°¡ ÀÖ´Â °æ¿ì
NoSuchElementException - ÄÝ·º¼ÇÀÌ ºñ¾úÀ» °æ¿ì
°ü·Ã Ç׸ñ:
Comparable

max

public static Object  max(Collection  coll,
                         Comparator  comp)
ÁöÁ¤µÈ ÄÞÆÛ·¹ÀÌÅͰ¡ °¡¸®Å°´Â ¼ø¼­¿¡ µû¶ó, ÁöÁ¤µÈ ÄÝ·º¼ÇÀÇ ÃÖ´ëÀÇ ¿ä¼Ò¸¦ µ¹·ÁÁÝ´Ï´Ù. ÄÝ·º¼ÇÀÇ ¸ðµç ¿ä¼Ò´Â ÁöÁ¤µÈ ÄÞÆÛ·¹ÀÌÅÍ·Î ¡¸¼­·Î ºñ±³ °¡´É¡¹ÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. Áï,comp.compare(e1, e2) ´Â ÄÝ·º¼ÇÀÇ ¿ä¼Ò°¡ e1 ¿Í e2 ÀÇ °æ¿ì ClassCastException ¸¦ ½½·Î¿ì ÇØ¾ß ÇÏÁö´Â ¾Ê½À´Ï´Ù.

ÀÌ ¸Þ¼Òµå´Â ÄÝ·º¼Ç Àüü·Î ¹Ýº¹ 󸮸¦ ½Ç½ÃÇϹǷÎ, ÄÝ·º¼ÇÀÇ »çÀÌÁî ¿¡ ºñ·ÊÇÑ ½Ã°£ÀÌ ÇÊ¿äÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
coll - ÃÖ´ëÀÇ ¿ä¼Ò¸¦ °áÁ¤ÇÏ´Â ÄÝ·º¼Ç
comp - ÃÖ´ëÀÇ ¿ä¼Ò ¸®½ºÆ®¸¦ °áÁ¤ÇÏ´Â ÄÞÆÛ·¹ÀÌÅÍ. null Ä¡´Â ¿ä¼ÒÀÇ ¡¸ÀÚ¿¬ ¼ø¼­ ºÙÀÌ°í¡¹¸¦ »ç¿ëÇÏ´Â °ÍÀ» ³ªÅ¸³½´Ù
¹Ýȯ°ª:
ÁöÁ¤µÈ ÄÞÆÛ·¹ÀÌÅÍ¿¡ µû¸¥, ÁöÁ¤µÈ ÄÝ·º¼ÇÀÇ ÃÖ´ëÀÇ ¿ä¼Ò
¿¹¿Ü:
ClassCastException - ÄÝ·º¼ÇÀ¸·Î ÁöÁ¤µÈ ÄÞÆÛ·¹ÀÌÅÍ·Î ¡¸¼­·Î ºñ±³¡¹ÇÒ ¼ö ¾ø´Â ¿ä¼Ò°¡ ÀÖ´Â °æ¿ì
NoSuchElementException - ÄÝ·º¼ÇÀÌ ºñ¾úÀ» °æ¿ì
°ü·Ã Ç׸ñ:
Comparable

rotate

public static void rotate(List  list,
                          int distance)
ÁöÁ¤µÈ ¸®½ºÆ®ÀÇ ¿ä¼Ò¸¦, ÁöÁ¤µÈ °Å¸®¿¡ ÀÇÇØ ȸÀüÇÕ´Ï´Ù. ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇÑ µÚ,0 (ÀÌ °ªÀ» Æ÷ÇÔÇÑ´Ù)À¸·ÎºÎÅÍ list.size()-1 (ÀÌ °ªÀ» Æ÷ÇÔÇÑ´Ù)±îÁöÀÇ ( i ÀÇ ¸ðµç °ª¿¡ ´ëÇØ¼­´Â À妽º i ÀÇ ¿ä¼Ò´Â ÀÌÀü, À妽º (i - distance) mod list.size() ¿¡ ÀÖ´ø ¿ä¼Ò°¡ µË´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â ¸®½ºÆ®ÀÇ »çÀÌÁî¿¡´Â ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê½À´Ï´Ù.

¿¹¸¦ µé¾î,list ¿¡´Â [t, a, n, k, s] °¡ Æ÷ÇԵȴٰí ÇÕ´Ï´Ù. Collections.rotate(list, 1) (ȤÀº Collections.rotate(list, -4))¸¦ È£ÃâÇÑ µÚ,list ¿¡´Â [s, t, a, n, k] °¡ Æ÷ÇԵ˴ϴÙ.

ÀÌ ¸Þ¼Òµå¸¦ »çºê¸® ÆÄ¾÷¿¡ À¯È¿ÇÏ°Ô Àû¿ëÇØ, ³ª¸ÓÁöÀÇ ¿ä¼ÒÀÇ ¼ø¼­¸¦ º¸Á¸Çϸ鼭, ¸®½ºÆ®³»ÀÇ 1 °³ ¶Ç´Â º¹¼öÀÇ ¿ä¼Ò¸¦ À̵¿ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½ÀÇ °ü¿ë¹ýÀº À妽º j ¿¡ ÀÖ´Â ¿ä¼Ò¸¦ À§Ä¡ k ·Î À̵¿ÇÕ´Ï´Ù (k ´Â j ´Â º¸´Ù Å«Áö µîÄ¡ÀÏ Çʿ䰡 ÀÖ½À´Ï´Ù).

     Collections.rotate(list.subList(j, k+1), -1);
À̰ÍÀ» °íÁ¤Çϱâ À§Çؼ­,list ¿¡ [a, b, c, d, e] °¡ Æ÷ÇԵǸé(ÀÚ) °¡Á¤ÇÕ´Ï´Ù. À妽º 1 (b)¿¡ ÀÖ´Â ¿ä¼Ò¸¦ 2 °³ÀÇ À§Ä¡ÇÏ·¯ ÁøÇàÇϱâ À§Çؼ­(¶§¹®¿¡)´Â ´ÙÀ½ÀÇ È£ÃâÀ» ½ÇÇàÇÕ´Ï´Ù.
     Collections.rotate(l.subList(1, 4), -1);
±× °á°ú, ¸®½ºÆ®´Â [a, c, d, b, e] °¡ µË´Ï´Ù.

º¹¼öÀÇ ¿ä¼Ò¸¦ ÁøÇà½Ã۱â À§Çؼ­(¶§¹®¿¡)´Â ȸÀü °Å¸®ÀÇ Àý´ëÄ¡¸¦ Áõ°¡½Ãŵ´Ï´Ù. µÚ·Î À̵¿½ÃŰ·Á¸é , Á¤ÀÇ ½¬ÇÁÆ® À̵¿·®À» »ç¿ëÇÕ´Ï´Ù.

ÁöÁ¤µÈ °ªÀÌ ÀÛÀº ¸®½ºÆ®ÀÎÁö RandomAccess ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇϰí ÀÖ´Â °æ¿ì, ÀÌ ±¸ÇöÀº Á¦ 1 ÀÇ ¿ä¼Ò¸¦ À̵¿ÇØ¾ß ÇÒ À§Ä¡·Î ±³È¯ÇÕ´Ï´Ù. ´ÙÀ½¿¡, ¿Å°Ü³õÀ» ¼ö ÀÖ¾ú´ø ¿ä¼Ò°¡ ÃÖÃÊÀÇ ¿ä¼Ò¿¡ ½º¿Ò µÉ ¶§±îÁö ¿Å°Ü³õÀ» ¼ö ÀÖ¾ú´ø ¿ä¼Ò¸¦ À̵¿ÇØ¾ß ÇÒ À§Ä¡¿¡ ¹Ýº¹ÇØ ±³È¯ÇÕ´Ï´Ù. Çʿ信 µû¶ó¼­, ȸÀüÀÌ ¿Ï·áÇÒ ¶§±îÁö Á¦ 2 ¿ä¼Ò ¹× ¿¬¼ÓÇÏ´Â ¿ä¼Ò¿¡ ´ëÇØ ÀÌ ÇÁ·Î¼¼½º°¡ ¹Ýº¹ÇØÁý´Ï´Ù. ÁöÁ¤µÈ ¸®½ºÆ®°¡ Å©°í,RandomAccess ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇϰí ÀÖÁö ¾Ê´Â °æ¿ì, ÀÌ ±¸ÇöÀº À妽º-distance mod size ÀÇ 2 °³ÀÇ »çºê¸®½ºÆ®ºä¿¡ ¸®½ºÆ®¸¦ ºÐÇÒÇÕ´Ï´Ù. ´ÙÀ½¿¡,reverse(List) ¸Þ¼Òµå´Â °¢°¢ÀÇ »çºê¸®½ºÆ®ºä·Î ºÒ·Á °¡ ÃÖÁ¾ÀûÀ¸·Î´Â ¸®½ºÆ® Àüü·Î ºÒ·Á °©´Ï´Ù. 2 °³ÀÇ ¾Ë°í¸®ÁòÀÇ »ó¼¼ÇÑ °Í¿¡ ´ëÇÏ¿©´Â Jon Bentley ÀÇ Programming Pearls (Addison-Wesley, 1986)ÀÇ ¼½¼Ç 2.3 À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

ÆÄ¶ó¹ÌÅÍ:
list - ȸÀüµÇ´Â ¸®½ºÆ®
distance - ¸®½ºÆ®¸¦ ȸÀüÇÏ´Â °Å¸®. ÀÌ °ª¿¡ Á¦¾àÀº ¾ø½À´Ï´Ù. °ªÀº 0 ¿¡¼­µµ, ºÎ¿¡¼­µµ,list.size() º¸´Ù Ä¿µµ ±¦Âú½À´Ï´Ù.
¿¹¿Ü:
UnsupportedOperationException - ÁöÁ¤µÈ ¸®½ºÆ® ¶Ç´Â ±× ¸®½ºÆ® ¹Ýº¹ÀÚ°¡ set ¸Þ¼Òµå¸¦ ¼­Æ÷Æ®ÇÏÁö ¾Ê´Â °æ¿ì
µµÀÔµÈ ¹öÁ¯:
1.4

replaceAll

public static boolean replaceAll(List  list,
                                 Object  oldVal,
                                 Object  newVal)
¸®½ºÆ®³»¿¡ ÃâÇöÇÏ´Â ÁöÁ¤µÈ °ªÀ» ¸ðµÎ ´Ù¸¥ °ª¿¡ ¿Å°Ü³õ½À´Ï´Ù. Áï,list ³»¿¡¼­ (oldVal==null ? e==null : oldVal.equals(e)) °¡ µÇ´Â °¢ ¿ä¼Ò e ¸¦ newVal ¿¡ ¿Å°Ü³õ½À´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â ¸®½ºÆ®ÀÇ »çÀÌÁî¿¡´Â ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
list - ġȯÀÌ »ý±â´Â ¸®½ºÆ®
oldVal - ġȯÀüÀÇ °ª
newVal - oldVal ÀÇ Ä¡È¯ ÈÄÀÇ °ª
¹Ýȯ°ª:
list °¡, (oldVal==null ? e==null : oldVal.equals(e)) °¡ µÇ´Â 1 °³ ¶Ç´Â º¹¼öÀÇ ¿ä¼Ò e ¸¦ Æ÷ÇÔÇÑ °æ¿ì´Â true.
¿¹¿Ü:
UnsupportedOperationException - ÁöÁ¤µÈ ¸®½ºÆ® ¶Ç´Â ±× ¸®½ºÆ® ¹Ýº¹ÀÚ°¡ set ¸Þ¼Òµå¸¦ ¼­Æ÷Æ®ÇÏÁö ¾Ê´Â °æ¿ì
µµÀÔµÈ ¹öÁ¯:
1.4

indexOfSubList

public static int indexOfSubList(List  source,
                                 List  target)
ÁöÁ¤µÈ ¼Ò½º ¸®½ºÆ®³»¿¡¼­, ÁöÁ¤µÈ Ÿ°Ù ¸®½ºÆ®°¡ ÃÖÃÊ·Î ÃâÇöÇÑ À§Ä¡ÀÇ °³½Ã À§Ä¡¸¦ µ¹·ÁÁÝ´Ï´Ù. ¶Ç´Â ÀÌ·¯ÇÑ ÃâÇöÀÌ ¾ø´Â °æ¿ì´Â -1 À» µ¹·ÁÁÝ´Ï´Ù. Áï,source.subList(i, i+target.size()). equals(target) °¡ µÇ´Â ÃÖ¼ÒÀÇ À妽ºÄ¡ i ¸¦ µ¹·ÁÁÝ´Ï´Ù. ¶Ç´Â ÀÌ·¯ÇÑ À妽ºÄ¡°¡ ¾ø´Â °æ¿ì´Â -1 À» µ¹·ÁÁÝ´Ï´Ù. target.size() > source.size() ÀÇ °æ¿ì´Â -1 À» µ¹·ÁÁÝ´Ï´Ù.

ÀÌ ±¸ÇöÀº ¼Ò½º ¸®½ºÆ®¸¦ ½ºÄ³´× ÇÏ´Â ¡¸°­ÇàÀΡ¹±â¼úÀ» »ç¿ëÇØ, ¼Ò½º ¸®½ºÆ®ÀÇ ¿©·¯ºÐÄ¡·Î Ÿ°Ù°ú ÀÏÄ¡ÇÒ±î Â÷·Ê·Î °Ë»öÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
source - ÃÖÃÊ·Î ÃâÇöÇÏ´Â target ¸¦ °Ë»öÇÏ´Â ¸®½ºÆ®
target - source ÀÇ subList ·Î¼­ °Ë»öÇÏ´Â ¸®½ºÆ®
¹Ýȯ°ª:
ÁöÁ¤µÈ ¼Ò½º ¸®½ºÆ®³»¿¡¼­, ÃÖÃÊ·Î ÃâÇöÇÑ ÁöÁ¤ Ÿ°Ù ¸®½ºÆ®ÀÇ °³½Ã À§Ä¡. ÀÌ·¯ÇÑ ÃâÇöÀÌ ¾ø´Â °æ¿ì´Â -1.
µµÀÔµÈ ¹öÁ¯:
1.4

lastIndexOfSubList

public static int lastIndexOfSubList(List  source,
                                     List  target)
ÁöÁ¤µÈ ¼Ò½º ¸®½ºÆ®³»¿¡¼­, ¸¶Áö¸·¿¡ ÃâÇöÇÑ ÁöÁ¤ Ÿ°Ù ¸®½ºÆ®ÀÇ °³½Ã À§Ä¡¸¦ µ¹·ÁÁÝ´Ï´Ù. ¶Ç´Â ÀÌ·¯ÇÑ ÃâÇöÀÌ ¾ø´Â °æ¿ì´Â -1 À» µ¹·ÁÁÝ´Ï´Ù. Áï,source.subList(i, i+target.size()). equals(target) °¡ µÇ´Â ÃÖ´ëÀÇ À妽ºÄ¡ i ¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ·¯ÇÑ À妽ºÄ¡°¡ ¾ø´Â °æ¿ì´Â -1 À» µ¹·ÁÁÝ´Ï´Ù. target.size() > source.size() ÀÇ °æ¿ì´Â -1 À» µ¹·ÁÁÝ´Ï´Ù.

ÀÌ ±¸Çö¿¡¼­´Â ¼Ò½º ¸®½ºÆ®ÀÇ ¹Ýº¹ 󸮸¦ ½Ç½ÃÇÏ´Â ¡¸°­ÇàÀΡ¹±â¼úÀ» »ç¿ëÇØ, ¿©·¯ºÐÄ¡·Î Ÿ°Ù°ú ÀÏÄ¡ÇÒ±î Â÷·Ê·Î °Ë»öÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
source - ¸¶Áö¸·¿¡ ÃâÇöÇÏ´Â target ¸¦ °Ë»öÇÏ´Â ¸®½ºÆ®
target - source ÀÇ subList ·Î¼­ °Ë»öÇÏ´Â ¸®½ºÆ®
¹Ýȯ°ª:
ÁöÁ¤µÈ ¼Ò½º ¸®½ºÆ®³»¿¡¼­, ¸¶Áö¸·¿¡ ÃâÇöÇÑ ÁöÁ¤ Ÿ°Ù ¸®½ºÆ®ÀÇ °³½Ã À§Ä¡. ÀÌ·¯ÇÑ ÃâÇöÀÌ ¾ø´Â °æ¿ì´Â -1.
µµÀÔµÈ ¹öÁ¯:
1.4

unmodifiableCollection

public static Collection  unmodifiableCollection(Collection  c)
ÁöÁ¤µÈ ÄÝ·º¼ÇÀÇ º¯°æ ºÒ°¡´ÉÇÑ ºä¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇϸé(ÀÚ), ¸ðµâÀº À¯Àú¿¡°Ô ³»ºÎ ÄÝ·º¼Ç¿¡ÀÇ ¡¸µ¶ÇØ Àü¿ë¡¹¾×¼¼½º±ÇÀ» Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù. µ¹·ÁÁÖ¾îÁø ÄÝ·º¼Ç¿¡¼­ÀÇ Äí¿¡¸®-¿ÀÆÛ·¹À̼ÇÀº ÁöÁ¤µÈ ÄÝ·º¼ÇÀ» Á÷Á¢ Àоî³À´Ï´Ù. Á÷Á¢Àΰ¡ ±× ¹Ýº¹ÀÚ¸¦ »ç¿ëÇұ °ü°è¾øÀÌ, µ¹·ÁÁÖ¾îÁø ÄÝ·º¼ÇÀ» º¯°æÇÏ·Á°í Çϸé(ÀÚ) UnsupportedOperationException °¡ ½½·Î¿ì µË´Ï´Ù.

µ¹·ÁÁÖ¾îÁø ÄÝ·º¼ÇÀº hashCode ¿ÀÆÛ·¹ÀÌ¼Ç ¹× equals ¿ÀÆÛ·¹À̼ÇÀ» ±â°¡ µÇ´Â ÄÝ·º¼Ç¿¡ °Ç³×ÁÙ °ÍÀº ¾ø°í,Object ÀÇ equals ¸Þ¼Òµå ¹× hashCode ¸Þ¼Òµå¿¡ ÀÇÁ¸ÇÕ´Ï´Ù. À̰ÍÀº ±â°¡ µÇ´Â ÄÝ·º¼ÇÀÌ ¼¼Æ® ¶Ç´Â ¸®½ºÆ®ÀÇ °æ¿ì¿¡ ±×·¯ÇÑ ¿ÀÆÛ·¹À̼ÇÀÇ ±Ô¾àÀ» Áö۱â À§Çؼ­ ÇÊ¿äÇÕ´Ï´Ù.

µ¹·ÁÁÖ¾îÁø ÄÝ·º¼ÇÀº ÁöÁ¤µÈ ÄÝ·º¼ÇÀÌ Á÷·ÄÈ­ °¡´ÉÀÇ °æ¿ì´Â Á÷·ÄÈ­ °¡´ÉÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
c - º¯°æ ºÒ°¡´ÉÇÑ ºä°¡ µ¹·ÁÁÖ¾îÁö´Â ÄÝ·º¼Ç
¹Ýȯ°ª:
ÁöÁ¤µÈ ÄÝ·º¼ÇÀÇ º¯°æ ºÒ°¡´ÉÇÑ ºä

unmodifiableSet

public static Set  unmodifiableSet(Set  s)
ÁöÁ¤µÈ ¼¼Æ®ÀÇ º¯°æ ºÒ°¡´ÉÇÑ ºä¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇϸé(ÀÚ), ¸ðµâÀº À¯Àú¿¡°Ô ³»ºÎ ¼¼Æ®¿¡ÀÇ ¡¸µ¶ÇØ Àü¿ë¡¹¾×¼¼½º±ÇÀ» Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù. µ¹·ÁÁÖ¾îÁø ¼¼Æ®¿¡¼­ÀÇ Äí¿¡¸®-¿ÀÆÛ·¹À̼ÇÀº ÁöÁ¤µÈ ¼¼Æ®¸¦ Á÷Á¢ Àо, Á÷Á¢Àΰ¡ ±× ¹Ýº¹ÀÚ¸¦ »ç¿ëÇұ °ü°è¾øÀÌ, µ¹·ÁÁÖ¾îÁø ¼¼Æ®¸¦ º¯°æÇÏ·Á°í Çϸé(ÀÚ) UnsupportedOperationException °¡ ½½·Î¿ì µË´Ï´Ù.

µ¹·ÁÁÖ¾îÁö´Â ¼¼Æ®´Â ÁöÁ¤µÈ ¼¼Æ®°¡ Á÷·ÄÈ­ °¡´ÉÀÇ °æ¿ì¿¡ Á÷·ÄÈ­ °¡´ÉÇÏ°Ô µË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
s - º¯°æ ºÒ°¡´ÉÇÑ ºä°¡ µ¹·ÁÁÖ¾îÁö´Â ¼¼Æ®
¹Ýȯ°ª:
ÁöÁ¤µÈ ¼¼Æ®ÀÇ º¯°æ ºÒ°¡´ÉÇÑ ºä

unmodifiableSortedSet

public static SortedSet  unmodifiableSortedSet(SortedSet  s)
ÁöÁ¤µÈ ¼ÒÆ® ¼¼Æ®ÀÇ º¯°æ ºÒ°¡´ÉÇÑ ºä¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇϸé(ÀÚ), ¸ðµâÀº À¯Àú¿¡°Ô ³»ºÎ ¼ÒÆ® ¼¼Æ®¿¡ÀÇ ¡¸µ¶ÇØ Àü¿ë¡¹¾×¼¼½º±ÇÀ» Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù. µ¹·ÁÁÖ¾îÁø ¼ÒÆ® ¼¼Æ®¿¡¼­ÀÇ Äí¿¡¸®-¿ÀÆÛ·¹À̼ÇÀº ÁöÁ¤µÈ ¼ÒÆ® ¼¼Æ®¸¦ Á÷Á¢ Àоî³À´Ï´Ù. Á÷Á¢Àΰ¡, ±× ¹Ýº¹ÀÚ¸¦ »ç¿ëÇϵ簡, ȤÀº ºäÀÇ subSet,headSet,tailSet ¸¦ »ç¿ëÇұ °ü°è¾øÀÌ, ¼ÒÆ® ¼¼Æ®¸¦ º¯°æÇÏ·Á°í Çϸé(ÀÚ) UnsupportedOperationException °¡ ½½·Î¿ì µË´Ï´Ù.

µ¹·ÁÁÖ¾îÁø ¼ÒÆ® ¼¼Æ®´Â ÁöÁ¤µÈ ¼ÒÆ® ¼¼Æ®°¡ Á÷·ÄÈ­ °¡´ÉÀÇ °æ¿ì´Â Á÷·ÄÈ­ °¡´ÉÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
s - º¯°æ ºÒ°¡´ÉÇÑ ºä°¡ µ¹·ÁÁÖ¾îÁö´Â ¼ÒÆ® ¼¼Æ®
¹Ýȯ°ª:
ÁöÁ¤µÈ ¼ÒÆ® ¼¼Æ®ÀÇ º¯°æ ºÒ°¡´ÉÇÑ ºä

unmodifiableList

public static List  unmodifiableList(List  list)
ÁöÁ¤µÈ ¸®½ºÆ®ÀÇ º¯°æ ºÒ°¡´ÉÇÑ ºä¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇϸé(ÀÚ), ¸ðµâÀº À¯Àú¿¡°Ô ³»ºÎ ¸®½ºÆ®¿¡ÀÇ ¡¸µ¶ÇØ Àü¿ë¡¹¾×¼¼½º±ÇÀ» Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù. µ¹·ÁÁÖ¾îÁø ¸®½ºÆ®¿¡¼­ÀÇ Äí¿¡¸®-¿ÀÆÛ·¹À̼ÇÀº ÁöÁ¤µÈ ¸®½ºÆ®¸¦ Á÷Á¢ Àоî³À´Ï´Ù. Á÷Á¢Àΰ¡, ±× ¹Ýº¹ÀÚ¸¦ »ç¿ëÇұ °ü°è¾øÀÌ, µ¹·ÁÁÖ¾îÁø ¸®½ºÆ®¸¦ º¯°æÇÏ·Á°í Çϸé(ÀÚ) UnsupportedOperationException °¡ ½½·Î¿ì µË´Ï´Ù.

µ¹·ÁÁÖ¾îÁø ¸®½ºÆ®´Â ÁöÁ¤µÈ ¸®½ºÆ®°¡ Á÷·ÄÈ­ °¡´ÉÀÇ °æ¿ì¿¡¸¸ Á÷·ÄÈ­ °¡´ÉÇÏ°Ô µË´Ï´Ù. ¶Ç, ÁöÁ¤µÈ ¸®½ºÆ®°¡ RandomAccess ¸¦ ±¸ÇöÇÏ´Â °æ¿ì¿¡¸¸, µ¹·ÁÁÖ¾îÁø ¸®½ºÆ®´Â RandomAccess ¸¦ ±¸ÇöÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
list - º¯°æ ºÒ°¡´ÉÇÑ ºä°¡ µ¹·ÁÁÖ¾îÁö´Â ¸®½ºÆ®
¹Ýȯ°ª:
ÁöÁ¤µÈ ¸®½ºÆ®ÀÇ º¯°æ ºÒ°¡´ÉÇÑ ºä

unmodifiableMap

public static Map  unmodifiableMap(Map  m)
ÁöÁ¤µÈ MAPÀÇ º¯°æ ºÒ°¡´ÉÇÑ ºä¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇϸé(ÀÚ), ¸ðµâÀº À¯Àú¿¡°Ô ³»ºÎ MAP¿¡ÀÇ ¡¸µ¶ÇØ Àü¿ë¡¹¾×¼¼½º±ÇÀ» Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù. µ¹·ÁÁÖ¾îÁø MAP¿¡¼­ÀÇ Äí¿¡¸®-¿ÀÆÛ·¹À̼ÇÀº ÁöÁ¤µÈ MAP¸¦ Á÷Á¢ Àоî³À´Ï´Ù. Á÷Á¢Àΰ¡, ±× ÄÚ·¹Å©¼Çºä¸¦ »ç¿ëÇұ °ü°è¾øÀÌ, µ¹·ÁÁÖ¾îÁø MAP¸¦ º¯°æÇÏ·Á°í Çϸé(ÀÚ) UnsupportedOperationException °¡ ½½·Î¿ì µË´Ï´Ù.

µ¹·ÁÁÖ¾îÁø MAP´Â ÁöÁ¤µÈ MAP°¡ Á÷·ÄÈ­ °¡´ÉÀÇ °æ¿ì´Â Á÷·ÄÈ­ °¡´ÉÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
m - º¯°æ ºÒ°¡´ÉÇÑ ºä°¡ µ¹·ÁÁÖ¾îÁö´Â MAP
¹Ýȯ°ª:
ÁöÁ¤µÈ MAPÀÇ º¯°æ ºÒ°¡´ÉÇÑ ºä

unmodifiableSortedMap

public static SortedMap  unmodifiableSortedMap(SortedMap  m)
ÁöÁ¤µÈ ¼ÒÆ® MAPÀÇ º¯°æ ºÒ°¡´ÉÇÑ ºä¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¸Þ¼Òµå¸¦ »ç¿ëÇϸé(ÀÚ), ¸ðµâÀº À¯Àú¿¡°Ô ³»ºÎ ¼ÒÆ® MAP¿¡ÀÇ ¡¸µ¶ÇØ Àü¿ë¡¹¾×¼¼½º±ÇÀ» Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù. µ¹·ÁÁÖ¾îÁø ¼ÒÆ® MAP¿¡¼­ÀÇ Äí¿¡¸®-¿ÀÆÛ·¹À̼ÇÀº ÁöÁ¤µÈ ¼ÒÆ® MAP¸¦ Á÷Á¢ Àоî³À´Ï´Ù. Á÷Á¢Àΰ¡, ±× ÄÚ·¹Å©¼Çºä¸¦ »ç¿ëÇÏ´ÂÁö ¶Ç´Â ºä subMap,headMap,tailMap ¸¦ »ç¿ëÇұ °ü°è¾øÀÌ, µ¹·ÁÁÖ¾îÁø ¼ÒÆ® MAP¸¦ º¯°æÇÏ·Á°í Çϸé(ÀÚ) UnsupportedOperationException °¡ ½½·Î¿ì µË´Ï´Ù.

µ¹·ÁÁÖ¾îÁø ¼ÒÆ® MAP´Â ÁöÁ¤µÈ ¼ÒÆ® MAP°¡ Á÷·ÄÈ­ °¡´ÉÀÇ °æ¿ì´Â Á÷·ÄÈ­ °¡´ÉÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
m - º¯°æ ºÒ°¡´ÉÇÑ ºä°¡ µ¹·ÁÁÖ¾îÁö´Â ¼ÒÆ® MAP
¹Ýȯ°ª:
ÁöÁ¤µÈ ¼ÒÆ® MAPÀÇ º¯°æ ºÒ°¡´ÉÇÑ ºä

synchronizedCollection

public static Collection  synchronizedCollection(Collection  c)
ÁöÁ¤µÈ ÄÝ·º¼ÇÀ» ±âº»À¸·Î ÇÏ´Â µ¿±â (thread¿¡ ´ëÇØ¼­ ¾ÈÀüÇÑ) ÄÝ·º¼ÇÀ» µ¹·ÁÁÝ´Ï´Ù. È®½ÇÈ÷ Á÷·Ä ¾×¼¼½º¸¦ ½ÇÇöÇÏ·Á¸é , ±â°¡ µÇ´Â ÄÝ·º¼Ç¿¡ÀÇ ¾×¼¼½º´Â ¸ðµÎ µ¹·ÁÁÖ¾îÁø ÄÝ·º¼ÇÀ» °³ÀÔ½ÃÄÑ ½Ç½ÃÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.

µ¹·ÁÁÖ¾îÁø ÄÝ·º¼ÇÀÇ ¹Ýº¹ 󸮸¦ ½Ç½ÃÇÏ´Â °æ¿ì, À¯Àú´Â ´ÙÀ½¿¡ ³ªÅ¸³»µµ·Ï(µíÀÌ) ¼öµ¿À¸·Î µ¿±â¸¦ ÀâÀ» Çʿ䰡 ÀÖ½À´Ï´Ù.

  Collection c = Collections.synchronizedCollection(myCollection);
     ...
  synchronized(c) {
      Iterator i = c.iterator(); // Must be in the synchronized block
      while (i.hasNext())
         foo(i.next());
  }
À̰ÍÀ» ½Ç½ÃÇÏÁö ¾Ê´Â °æ¿ì, µ¿ÀÛÀº ÇÁ·ÎÅØ¼ÇµÇÁö ¾Ê½À´Ï´Ù.

µ¹·ÁÁÖ¾îÁø ÄÝ·º¼ÇÀº hashCode ¿ÀÆÛ·¹ÀÌ¼Ç ¹× equals ¿ÀÆÛ·¹À̼ÇÀ» ±â°¡ µÇ´Â ÄÝ·º¼Ç¿¡ °Ç³×ÁÙ °ÍÀº ¾ø°í,Object ÀÇ equals ¹× hashCode ¸Þ¼Òµå¿¡ ÀÇÁ¸ÇÕ´Ï´Ù. À̰ÍÀº ±â°¡ µÇ´Â ÄÝ·º¼ÇÀÌ ¼¼Æ® ¶Ç´Â ¸®½ºÆ®ÀÇ °æ¿ì¿¡ ±×·¯ÇÑ ¿ÀÆÛ·¹À̼ÇÀÇ ±Ô¾àÀ» Áö۱â À§Çؼ­ ÇÊ¿äÇÕ´Ï´Ù.

µ¹·ÁÁÖ¾îÁø ÄÝ·º¼ÇÀº ÁöÁ¤µÈ ÄÝ·º¼ÇÀÌ Á÷·ÄÈ­ °¡´ÉÀÇ °æ¿ì´Â Á÷·ÄÈ­ °¡´ÉÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
c - µ¿±â ÄÝ·º¼Ç¿¡ ¡¸·¦¡¹µÇ´Â ÄÝ·º¼Ç
¹Ýȯ°ª:
ÁöÁ¤µÈ ÄÝ·º¼ÇÀÇ µ¿±â ºä

synchronizedSet

public static Set  synchronizedSet(Set  s)
ÁöÁ¤µÈ ¼¼Æ®¸¦ ±âº»À¸·Î ÇÏ´Â µ¿±â (thread¿¡ ´ëÇØ¼­ ¾ÈÀüÇÑ) ¼¼Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. È®½ÇÈ÷ Á÷·Ä ¾×¼¼½º¸¦ ½ÇÇöÇÏ·Á¸é , ±â°¡ µÇ´Â ¼¼Æ®¿¡ÀÇ ¾×¼¼½º´Â ¸ðµÎ µ¹·ÁÁÖ¾îÁø ¼¼Æ®¸¦ °³ÀÔ½ÃÄÑ ½Ç½ÃÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.

µ¹·ÁÁÖ¾îÁø ¼¼Æ®ÀÇ ¹Ýº¹ 󸮸¦ ½Ç½ÃÇÏ´Â °æ¿ì, À¯Àú´Â ´ÙÀ½¿¡ ³ªÅ¸³»µµ·Ï(µíÀÌ) ¼öµ¿À¸·Î µ¿±â¸¦ ÀâÀ» Çʿ䰡 ÀÖ½À´Ï´Ù.

  Set s = Collections.synchronizedSet(new HashSet());
      ...
  synchronized(s) {
      Iterator i = s.iterator(); // Must be in the synchronized block
      while (i.hasNext())
          foo(i.next());
  }
À̰ÍÀ» ½Ç½ÃÇÏÁö ¾Ê´Â °æ¿ì, µ¿ÀÛÀº ÇÁ·ÎÅØ¼ÇµÇÁö ¾Ê½À´Ï´Ù.

µ¹·ÁÁÖ¾îÁö´Â ¼¼Æ®´Â ÁöÁ¤µÈ ¼¼Æ®°¡ Á÷·ÄÈ­ °¡´ÉÀÇ °æ¿ì¿¡ Á÷·ÄÈ­ °¡´ÉÇÏ°Ô µË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
s - µ¿±â ¼¼Æ®¿¡ ¡¸·¦¡¹µÇ´Â ¼¼Æ®
¹Ýȯ°ª:
ÁöÁ¤µÈ ¼¼Æ®ÀÇ µ¿±â ºä

synchronizedSortedSet

public static SortedSet  synchronizedSortedSet(SortedSet  s)
ÁöÁ¤µÈ ¼ÒÆ® ¼¼Æ®¸¦ ±âº»À¸·Î ÇÏ´Â µ¿±â (thread¿¡ ´ëÇØ¼­ ¾ÈÀüÇÑ) ¼ÒÆ® ¼¼Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. È®½ÇÈ÷ Á÷·Ä ¾×¼¼½º¸¦ ½ÇÇöÇÏ·Á¸é , ±â°¡ µÇ´Â ¼ÒÆ® ¼¼Æ®¿¡ÀÇ ¾×¼¼½º´Â ¸ðµÎ, µ¹·ÁÁÖ¾îÁø ¼ÒÆ® ¼¼Æ® (¶Ç´Â ±× ºä)¸¦ °³ÀÔ½ÃÄÑ ½Ç½ÃÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.

µ¹·ÁÁÖ¾îÁø ¼ÒÆ® ¼¼Æ®, ¶Ç´Â ±× subSet,headSet, ȤÀº tailSet ºäÀÇ ¹Ýº¹ 󸮸¦ ½Ç½ÃÇÏ´Â °æ¿ì, À¯Àú´Â ´ÙÀ½¿¡ ³ªÅ¸³»µµ·Ï(µíÀÌ) ¼öµ¿À¸·Î µ¿±â¸¦ ÀâÀ» Çʿ䰡 ÀÖ½À´Ï´Ù.

  SortedSet s = Collections.synchronizedSortedSet(new HashSortedSet());
      ...
  synchronized(s) {
      Iterator i = s.iterator(); // Must be in the synchronized block
      while (i.hasNext())
          foo(i.next());
  }
¶Ç´Â
  SortedSet s = Collections.synchronizedSortedSet(new HashSortedSet());
  SortedSet s2 = s.headSet(foo);
      ...
  synchronized(s) {  // Note: s, not s2!!!
      Iterator i = s2.iterator(); // Must be in the synchronized block
      while (i.hasNext())
          foo(i.next());
  }
À̰ÍÀ» ½Ç½ÃÇÏÁö ¾Ê´Â °æ¿ì, µ¿ÀÛÀº ÇÁ·ÎÅØ¼ÇµÇÁö ¾Ê½À´Ï´Ù.

µ¹·ÁÁÖ¾îÁø ¼ÒÆ® ¼¼Æ®´Â ÁöÁ¤µÈ ¼ÒÆ® ¼¼Æ®°¡ Á÷·ÄÈ­ °¡´ÉÀÇ °æ¿ì´Â Á÷·ÄÈ­ °¡´ÉÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
s - µ¿±â ¼ÒÆ® ¼¼Æ®¿¡ ¡¸·¦¡¹µÇ´Â ¼ÒÆ® ¼¼Æ®
¹Ýȯ°ª:
ÁöÁ¤µÈ ¼ÒÆ® ¼¼Æ®ÀÇ µ¿±â ºä

synchronizedList

public static List  synchronizedList(List  list)
ÁöÁ¤µÈ ¸®½ºÆ®¸¦ ±âº»À¸·Î ÇÏ´Â µ¿±â (thread¿¡ ´ëÇØ¼­ ¾ÈÀüÇÑ) ¸®½ºÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù. È®½ÇÈ÷ Á÷·Ä ¾×¼¼½º¸¦ ½ÇÇöÇÏ·Á¸é , ±âº»À¸·Î µÇ´Â ¸®½ºÆ®¿¡ÀÇ ¾×¼¼½º´Â ¸ðµÎ, µ¹·ÁÁÖ¾îÁø ¸®½ºÆ®¸¦ °³ÀÔ½ÃÄÑ ½Ç½ÃÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.

µ¹·ÁÁÖ¾îÁø ¸®½ºÆ®ÀÇ ¹Ýº¹ 󸮸¦ ½Ç½ÃÇÏ´Â °æ¿ì, À¯Àú´Â ´ÙÀ½¿¡ ³ªÅ¸³»µµ·Ï(µíÀÌ) ¼öµ¿À¸·Î µ¿±â¸¦ ÀâÀ» Çʿ䰡 ÀÖ½À´Ï´Ù.

  List list = Collections.synchronizedList(new ArrayList());
      ...
  synchronized(list) {
      Iterator i = list.iterator(); // Must be in synchronized block
      while (i.hasNext())
          foo(i.next());
  }
À̰ÍÀ» ½Ç½ÃÇÏÁö ¾Ê´Â °æ¿ì, µ¿ÀÛÀº ÇÁ·ÎÅØ¼ÇµÇÁö ¾Ê½À´Ï´Ù.

µ¹·ÁÁÖ¾îÁø ¸®½ºÆ®´Â ÁöÁ¤µÈ ¸®½ºÆ®°¡ Á÷·ÄÈ­ °¡´ÉÀÇ °æ¿ì¿¡¸¸ Á÷·ÄÈ­ °¡´ÉÇÏ°Ô µË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
list - µ¿±â ¸®½ºÆ®¿¡ ¡¸·¦¡¹µÇ´Â ¸®½ºÆ®
¹Ýȯ°ª:
ÁöÁ¤µÈ ¸®½ºÆ®ÀÇ µ¿±â ºä

synchronizedMap

public static Map  synchronizedMap(Map  m)
ÁöÁ¤µÈ MAP¸¦ ±âº»À¸·Î ÇÏ´Â µ¿±â (thread¿¡ ´ëÇØ¼­ ¾ÈÀüÇÑ) MAP¸¦ µ¹·ÁÁÝ´Ï´Ù. È®½ÇÈ÷ Á÷·Ä ¾×¼¼½º¸¦ ½ÇÇöÇÏ·Á¸é , ±âº»À¸·Î µÇ´Â MAP¿¡ÀÇ ¾×¼¼½º´Â ¸ðµÎ, µ¹·ÁÁÖ¾îÁø MAP¸¦ °³ÀÔ½ÃÄÑ ½Ç½ÃÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.

µ¹·ÁÁÖ¾îÁø MAPÀÇ ÄÚ·¹Å©¼Çºä¿¡¼­ÀÇ ¹Ýº¹ 󸮸¦ ½Ç½ÃÇÏ´Â °æ¿ì, À¯Àú´Â ´ÙÀ½¿¡ ³ªÅ¸³»µµ·Ï(µíÀÌ) ¼öµ¿À¸·Î µ¿±â¸¦ ÀâÀ» Çʿ䰡 ÀÖ½À´Ï´Ù.

  Map m = Collections.synchronizedMap(new HashMap());
      ...
  Set s = m.keySet();  // Needn't be in synchronized block
      ...
  synchronized(m) {  // Synchronizing on m, not s!
      Iterator i = s.iterator(); // Must be in synchronized block
      while (i.hasNext())
          foo(i.next());
  }
À̰ÍÀ» ½Ç½ÃÇÏÁö ¾Ê´Â °æ¿ì, µ¿ÀÛÀº ÇÁ·ÎÅØ¼ÇµÇÁö ¾Ê½À´Ï´Ù.

µ¹·ÁÁÖ¾îÁø MAP´Â ÁöÁ¤µÈ MAP°¡ Á÷·ÄÈ­ °¡´ÉÀÇ °æ¿ì´Â Á÷·ÄÈ­ °¡´ÉÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
m - µ¿±â MAP¿¡ ¡¸·¦¡¹µÇ´Â MAP
¹Ýȯ°ª:
ÁöÁ¤µÈ MAPÀÇ µ¿±â ºä

synchronizedSortedMap

public static SortedMap  synchronizedSortedMap(SortedMap  m)
ÁöÁ¤µÈ ¼ÒÆ® MAP¸¦ ±âº»À¸·Î ÇÏ´Â µ¿±â (thread¿¡ ´ëÇØ¼­ ¾ÈÀüÇÑ) ¼ÒÆ® MAP¸¦ µ¹·ÁÁÝ´Ï´Ù. È®½ÇÈ÷ Á÷·Ä ¾×¼¼½º¸¦ ½ÇÇöÇÏ·Á¸é , ±âº»À¸·Î µÇ´Â ¼ÒÆ® MAP¿¡ÀÇ ¾×¼¼½º´Â ¸ðµÎ, µ¹·ÁÁÖ¾îÁø ¼ÒÆ® MAP (¶Ç´Â ±× ºä)¸¦ °³ÀÔ½ÃÄÑ ½Ç½ÃÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.

µ¹·ÁÁÖ¾îÁø ¼ÒÆ® MAPÀÇ ÄÚ·¹Å©¼Çºä, ¶Ç´Â subMap,headMap,tailMap ºäÀÇ ÄÚ·¹Å©¼Çºä¿¡¼­ÀÇ ¹Ýº¹ 󸮸¦ ½Ç½ÃÇÏ´Â °æ¿ì, À¯Àú´Â ´ÙÀ½¿¡ ³ªÅ¸³»µµ·Ï(µíÀÌ) ¼öµ¿À¸·Î µ¿±â¸¦ ÀâÀ» Çʿ䰡 ÀÖ½À´Ï´Ù.

  SortedMap m = Collections.synchronizedSortedMap(new HashSortedMap());
      ...
  Set s = m.keySet();  // Needn't be in synchronized block
      ...
  synchronized(m) {  // Synchronizing on m, not s!
      Iterator i = s.iterator(); // Must be in synchronized block
      while (i.hasNext())
          foo(i.next());
  }
¶Ç´Â
  SortedMap m = Collections.synchronizedSortedMap(new HashSortedMap());
  SortedMap m2 = m.subMap(foo, bar);
      ...
  Set s2 = m2.keySet();  // Needn't be in synchronized block
      ...
  synchronized(m) {  // Synchronizing on m, not m2 or s2!
      Iterator i = s.iterator(); // Must be in synchronized block
      while (i.hasNext())
          foo(i.next());
  }
À̰ÍÀ» ½Ç½ÃÇÏÁö ¾Ê´Â °æ¿ì, µ¿ÀÛÀº ÇÁ·ÎÅØ¼ÇµÇÁö ¾Ê½À´Ï´Ù.

µ¹·ÁÁÖ¾îÁø ¼ÒÆ® MAP´Â ÁöÁ¤µÈ ¼ÒÆ® MAP°¡ Á÷·ÄÈ­ °¡´ÉÀÇ °æ¿ì´Â Á÷·ÄÈ­ °¡´ÉÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
m - µ¿±â ¼ÒÆ® MAP¿¡ ¡¸·¦¡¹µÇ´Â ¼ÒÆ® MAP
¹Ýȯ°ª:
ÁöÁ¤µÈ ¼ÒÆ® MAPÀÇ µ¿±â ºä

singleton

public static Set  singleton(Object  o)
ÁöÁ¤µÈ ¿ÀºêÁ§Æ®¸¸À» ÀúÀåÇϰí ÀÖ´Â ºÒº¯¼¼Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. µ¹·ÁÁÖ¾îÁö´Â ¼¼Æ®´Â Á÷·ÄÈ­ °¡´ÉÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
o - µ¹·ÁÁÖ¾îÁö´Â ¼¼Æ®¿¡ ÀúÀåµÇ°í ÀÖ´Â À¯ÀÏÇÑ ¿ÀºêÁ§Æ®
¹Ýȯ°ª:
ÁöÁ¤µÈ ¿ÀºêÁ§Æ®¸¸À» ÀúÀåÇϰí ÀÖ´Â ºÒº¯¼¼Æ®

singletonList

public static List  singletonList(Object  o)
ÁöÁ¤µÈ ¿ÀºêÁ§Æ®¸¸À» ÀúÀåÇϰí ÀÖ´Â ºÒº¯ÀÇ ¸®½ºÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù. µ¹·ÁÁÖ¾îÁö´Â ¸®½ºÆ®´Â Á÷·ÄÈ­ °¡´ÉÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
o - µ¹·ÁÁÖ¾îÁö´Â ¸®½ºÆ®¿¡ ÀúÀåµÇ°í ÀÖ´Â À¯ÀÏÇÑ ¿ÀºêÁ§Æ®
¹Ýȯ°ª:
ÁöÁ¤µÈ ¿ÀºêÁ§Æ®¸¸À» ÀúÀåÇϰí ÀÖ´Â ºÒº¯¼¼Æ®
µµÀÔµÈ ¹öÁ¯:
1.3

singletonMap

public static Map  singletonMap(Object  key,
                               Object  value)
ÁöÁ¤µÈ °ªÀ¸·Î ÁöÁ¤µÈ ¿ÀºêÁ§Æ®¸¸À» ¸ÅÇÎ ÇÏ´Â ºÒº¯ÀÇ MAP¸¦ µ¹·ÁÁÝ´Ï´Ù. µ¹·ÁÁÖ¾îÁö´Â MAP´Â Á÷·ÄÈ­ °¡´ÉÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
key - µ¹·ÁÁÖ¾îÁö´Â MAP¿¡ ÀúÀåµÇ°í ÀÖ´Â À¯ÀÏÇÑ Å°
value - µ¹·ÁÁÖ¾îÁö´Â MAP¿¡ ÀÇÇØ key °¡ ¸ÅÇÎ µÇ´Â °ª
¹Ýȯ°ª:
ÁöÁ¤ÇÑ Å°¿Í °ªÀÇ ¸ÅÇθ¸ÀÌ ÀúÀåµÇ´Â ºÒº¯ÀÇ MAP
µµÀÔµÈ ¹öÁ¯:
1.3

nCopies

public static List  nCopies(int n,
                           Object  o)
ÁöÁ¤µÈ ¿ÀºêÁ§Æ®ÀÇ n °³ÀÇ Ä«ÇÇ·Î ±¸¼ºµÇ´Â ºÒº¯ÀÇ ¸®½ºÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù. »õ·Ó°Ô ÇÒ´çÇÒ ¼ö ÀÖ¾ú´ø µ¥ÀÌÅÍ ¿ÀºêÁ§Æ®´Â µ¥ÀÌÅÍ ¿ÀºêÁ§Æ®¿¡ÀÇ 1 °³ÀÇ ÂüÁ¶¸¦ °¡Áö´Â ÀÛÀº ¿ÀºêÁ§Æ®ÀÔ´Ï´Ù. ÀÌ ¸Þ¼Òµå´Â List.addAll ¸Þ¼Òµå¿Í ÇÔ²² ¸®½ºÆ®¸¦ È®ÀåÇϱâ À§Çؼ­ »ç¿ëµË´Ï´Ù. µ¹·ÁÁÖ¾îÁö´Â ¸®½ºÆ®´Â Á÷·ÄÈ­ °¡´ÉÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
n - µ¹·ÁÁÖ¾îÁö´Â ¸®½ºÆ®ÀÇ ¿ä¼Ò¼ö
o - µ¹·ÁÁÖ¾îÁö´Â ¸®½ºÆ®¿¡ ¹Ýº¹ÇØ ³ªÅ¸³ª´Â ¿ä¼Ò
¹Ýȯ°ª:
ÁöÁ¤µÈ ¿ÀºêÁ§Æ®ÀÇ n °³ÀÇ Ä«ÇÇ·Î ±¸¼ºµÇ´Â ºÒº¯ÀÇ ¸®½ºÆ®
¿¹¿Ü:
IllegalArgumentException - n < 0 ÀÇ °æ¿ì
°ü·Ã Ç׸ñ:
List.addAll(Collection) , List.addAll(int, Collection)

reverseOrder

public static Comparator  reverseOrder()
Comparable ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â ¿ÀºêÁ§Æ®ÀÇ ÄÝ·º¼ÇÀ¸·Î ¡¸ÀÚ¿¬ ¼ø¼­ ºÙÀÌ°í¡¹ÀÇ ¿ªÀ» Àǹ«È­ ÇÏ´Â ÄÞÆÛ·¹ÀÌÅ͸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÚ¿¬ ¼ø¼­ºÎ¶õ, ¿ÀºêÁ§Æ® ÀÚ½ÅÀÇ compareTo ¸Þ¼Òµå°¡ °¡¸®Å°´Â ¼ø¼­ÀÔ´Ï´Ù. À̰Ϳ¡ ÀÇÇØ,Comparable ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â ¿ÀºêÁ§Æ®ÀÇ ÄÝ·º¼Ç (¶Ç´Â ¹è¿­)À» °£´ÜÇÏ°Ô ¿ªÀÚ¿¬ ¼ø¼­·Î ¼ÒÆ® (¶Ç´Â ¸ÞÀÎÆ®³Í½º) ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, a °¡ ij¸¯ÅÍ ¶óÀÎÀÇ ¹è¿­À̶ó°í °¡Á¤ÇÕ´Ï´Ù.
 		Arrays.sort(a, Collections.reverseOrder());
¿ªÀÎ ³ª¹«ÀÇ »çÀü ÆíÁý¼ø¼­ (¾ËÆÄºª¼ø¼­)·Î ¹è¿­À» ¼ÒÆ® ÇÕ´Ï´Ù.

µ¹·ÁÁÖ¾îÁö´Â ÄÞÆÛ·¹ÀÌÅÍ´Â Á÷·ÄÈ­ °¡´ÉÇÕ´Ï´Ù.

¹Ýȯ°ª:
Comparable ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â ¿ÀºêÁ§Æ®ÀÇ ÄÝ·º¼ÇÀ¸·Î ¿ªÀÇ ÀÚ¿¬ ¼ø¼­¸¦ Àǹ«È­ ÇÏ´Â ÄÞÆÛ·¹ÀÌÅÍ
°ü·Ã Ç׸ñ:
Comparable

enumeration

public static Enumeration  enumeration(Collection  c)
ÁöÁ¤µÈ ÄÝ·º¼ÇÀÇ ¿­°Å¸¦ µ¹·ÁÁÝ´Ï´Ù. ÄÝ·º¼ÇÀº ¿­°Å¸¦ ÇÊ¿ä·Î ÇÏ´Â Á¾·¡ÀÇ API ¿ÍÀÇ »óÈ£ ¿î¿ë¼ºÀ» Á¦°øÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
c - ¿­°Å°¡ µ¹·ÁÁÖ¾îÁö´Â ÄÝ·º¼Ç
¹Ýȯ°ª:
ÁöÁ¤µÈ ÄÝ·º¼ÇÀÇ ¿­°Å
°ü·Ã Ç׸ñ:
Enumeration

list

public static ArrayList  list(Enumeration  e)
ÁöÁ¤µÈ ¿­°Å¿¡ ÀÇÇØ µ¹·ÁÁÖ¾îÁø ¿ä¼Ò¸¦ Æ÷ÇÔÇÑ ¹è¿­ ¸®½ºÆ®¸¦, µ¹·ÁÁÖ¾îÁø Â÷·Ê·Î µ¹·ÁÁÝ´Ï´Ù. ÀÌ ¸Þ¼Òµå¿¡¼­´Â ¿­°Å¸¦ µ¹·ÁÁÖ´Â Á¾·¡ÀÇ API ¿Í ÄÝ·º¼ÇÀ» ÇÊ¿ä·Î ÇÏ´Â ½Å±Ô API ¿ÍÀÇ »óÈ£ ¿î¿ë¼ºÀ» ½ÇÇöÇϰí ÀÖ½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
e - µ¹·ÁÁÖ¾îÁö´Â ¹è¿­ ¸®½ºÆ®ÀÇ ¿ä¼Ò¸¦ Á¦°øÇÏ´Â ¿­°Å
¹Ýȯ°ª:
ÁöÁ¤µÈ ¿­°Å¿¡ ÀÇÇØ µ¹·ÁÁÖ¾îÁö´Â ¿ä¼Ò¸¦ Æ÷ÇÔÇÑ ¹è¿­ ¸®½ºÆ®
µµÀÔµÈ ¹öÁ¯:
1.4
°ü·Ã Ç׸ñ:
Enumeration , ArrayList

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.