|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
java.lang.Object | +--java.util.Collections
ÀÌ Å¬·¡½º´Â ÄÝ·º¼Ç¿¡ ÀÛ¿ëÇÏ´ÂÁö ÄÝ·º¼ÇÀ» µ¹·ÁÁÖ´Â static ¸Þ¼Òµå¸¸À¸·Î ±¸¼ºµË´Ï´Ù. ÀÌ Å¬·¡½º¿¡´Â ÁöÁ¤µÈ ÄÝ·º¼ÇÀ» ±âº»À¸·Î ÇÑ »õ·Î¿î ÄÝ·º¼ÇÀ» µ¹·ÁÁÖ´Â ¡¸·¡ÆÛ¡¹ µî, ÄÝ·º¼Ç¿¡ ´ëÇØ¼ ÀÛ¿ëÇÏ´Â ´Ù¾çÇÑ ¾Ë°í¸®ÁòÀÌ ÀÖ½À´Ï´Ù.
ÀÌ Å¬·¡½ºÀÇ ¸Þ¼Òµå¿¡ Á¦°øµÇ´Â ÄÝ·º¼ÇÀÌ null ÀÇ °æ¿ì, ÀÌ Å¬·¡½ºÀÇ ¸Þ¼Òµå´ÂNullPointerException ¸¦ ¸ðµÎ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ Å¬·¡½º¿¡ ÀÖ´Â ´Ù¾çÇÑ ¾Ë°í¸®ÁòÀÇ ¹®¼¿¡´Â Åë»ó, ¡¸±¸Çö¡¹ÀÇ °£´ÜÇÑ ¼³¸íÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. ÀÌ ¼³¸íÀº ¡¸»ç¾ç¡¹ÀÇ ÀϺο¡¼´Â ¾ø°í ¡¸±¸Çö Á¤º¸¡¹¶ó°í »ý°¢ÇØ ÁÖ¼¼¿ä. ±¸ÇöÀÚ´Â »ç¾ç¿¡ ¹ÝÇÏÁö ¾Ê´Â ÇÑ, ´Ù¸¥ ¾Ë°í¸®ÁòÀ» ÀÚÀ¯·Ó°Ô »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î,sort °¡ »ç¿ëÇÏ´Â ¾Ë°í¸®ÁòÀº merge ¼ÒÆ®ÀÏ ÇÊ¿ä´Â ¾ø½À´Ï´Ù¸¸, ¡¸°íÁ¤ (stable)¡¹ÀÇ ¾Ë°í¸®ÁòÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù.
ÄÝ·º¼ÇÀÌ set ¸Þ¼Òµå¿Í °°ÀÌ ÀûÀýÇÑ º¯ÀÌ ¿ø½ÃÀûÇü ¸Þ¼Òµå¸¦ ¼Æ÷Æ®Çϰí ÀÖÁö ¾Ê´Â °æ¿ì, ÀÌ Å¬·¡½º (󸮵Ǵ ÄÝ·º¼ÇÀ» ¼öÁ¤ÇÏ´Â ¾Ë°í¸®Áò)¿¡ Æ÷ÇԵǾî ÀÖ´ø ¡¸ÆÄ±«Àû¡¹¾Ë°í¸®ÁòÀº UnsupportedOperationException ¸¦ ½½·Î¿ì Çϵµ·Ï(µíÀÌ) ÁöÁ¤µÇ°í ÀÖ½À´Ï´Ù. È£ÃâÀÌ ÄÝ·º¼Ç¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê´Â °æ¿ì, ÀÌ·¯ÇÑ ¾Ë°í¸®ÁòÀº ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù¸¸, Çʼö°¡ ¾Æ´Õ´Ï´Ù. ¿¹¸¦ µé¾î, ¼ÒÆ® ³¡³ º¯°æ ºÒ°¡´ÉÇÑ ¸®½ºÆ®·Î,sort ¸Þ¼Òµå¸¦ È£ÃâÇϸé(ÀÚ),UnsupportedOperationException. ÇÏÁö¸¸ ½½·Î¿ì µÇ´Â °æ¿ì¿Í ½½·Î¿ì µÇÁö ¾Ê´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
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 |
ÇʵåÀÇ »ó¼¼ |
public static final Set EMPTY_SET
public static final List EMPTY_LIST
public static final Map EMPTY_MAP
¸Þ¼ÒµåÀÇ »ó¼¼ |
public static void sort(List list)
ÀÌ ¼ÒÆ®´Â °íÁ¤ÀÎ °ÍÀÌ ÇÁ·ÎÅØ¼ÇµÇ°í ÀÖ½À´Ï´Ù. Áï, ¼ÒÆ®¸¦ ½ÇÇàÇØµµ, µ¿µîÀÇ ¿ä¼ÒÀÇ ¼ø¼´Â ¹Ù²îÁö ¾Ê½À´Ï´Ù.
ÁöÁ¤µÈ ¸®½ºÆ®´Â º¯°æ °¡´ÉÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù, »çÀÌÁî º¯°æÀº ÇÒ ¼ö ¾ø¾îµµ ±¦Âú½À´Ï´Ù.
¼ÒÆ® ¾Ë°í¸®ÁòÀº ¼öÁ¤ merge ¼ÒÆ®ÀÔ´Ï´Ù. ÀÌ ¼ÒÆ®¿¡¼´Â ÇÏÀ§ÀÇ »çºê¸® ÆÄ¾÷¿¡ ÀÖ¾î¼ÀÇ ÃÖ°í ·¹º§ÀÇ ¿ä¼Ò°¡ »óÀ§ÀÇ »çºê¸® ÆÄ¾÷¿¡ ÀÖ¾î¼ÀÇ ÃÖÀú ·¹º§ÀÇ ¿ä¼Òº¸´Ù ÀÛÀº °æ¿ì, merge´Â »ý·« µË´Ï´Ù. ÀÌ ¾Ë°í¸®ÁòÀº Ç×»ó n log(n)ÀÇ ÆÛÆ÷¸Õ½º¸¦ Á¦°øÇØ, °ÅÀÇ ¼ÒÆ® µÈ ¸®½ºÆ®¿¡¼´Â ÆÛÆ÷¸Õ½º´Â ÀÏÂ÷½Ä¿¡ °¡±î¿öÁö´Â °æ¿ìµµ ÀÖ½À´Ï´Ù.
ÀÌ ±¸ÇöÀº ÁöÁ¤µÈ ¸®½ºÆ®ÀÇ ¹è¿¿¡ÀÇ ´ýÇÁ, ¹è¿ÀÇ ¼ÒÆ®, ¸®½ºÆ®¿¡¼ÀÇ ¹Ýº¹ 󸮸¦ ½Ç½ÃÇÏ´Â °ÍÀ¸·Î, ¹è¿ÀÇ ´ëÀÀÇÏ´Â À§Ä¡·ÎºÎÅÍ °¢ ¿ä¼Ò¸¦ Àç¼³Á¤ÇÕ´Ï´Ù. À̰ÍÀº ¸µÅ© µÈ ¸®½ºÆ®¸¦ Àû¼Ò¿¡ ¼ÒÆ® ÇÏ·Á°í ÇßÀ» °æ¿ìÀÇ n2 log(n)ÀÇ ÆÛÆ÷¸Õ½º°¡ µÇ´Â °ÍÀ» ȸÇÇÇÕ´Ï´Ù.
list
- ¼ÒÆ® µÇ´Â ¸®½ºÆ®
ClassCastException
- ¸®½ºÆ®¿¡ ¡¸¼·Î ºñ±³ °¡´É¡¹ÀÌ ¾Æ´Ñ ¿ä¼Ò (¿¹¸¦ µé¾î, ij¸¯ÅÍ ¶óÀΰú Á¤¼ö)°¡ ÀÖ´Â °æ¿ì
UnsupportedOperationException
- ÁöÁ¤µÈ ¸®½ºÆ®ÀÇ ¸®½ºÆ® ¹Ýº¹ÀÚ°¡ set ¿ÀÆÛ·¹À̼ÇÀ» ¼Æ÷Æ®ÇÏÁö ¾Ê´Â °æ¿ìComparable
public static void sort(List list, Comparator c)
ÀÌ ¼ÒÆ®´Â °íÁ¤ÀÎ °ÍÀÌ ÇÁ·ÎÅØ¼ÇµÇ°í ÀÖ½À´Ï´Ù. Áï, ¼ÒÆ®¸¦ ½ÇÇàÇØµµ, µ¿µîÀÇ ¿ä¼ÒÀÇ ¼ø¼´Â ¹Ù²îÁö ¾Ê½À´Ï´Ù.
¼ÒÆ® ¾Ë°í¸®ÁòÀº ¼öÁ¤ merge ¼ÒÆ®ÀÔ´Ï´Ù. ÀÌ ¼ÒÆ®¿¡¼´Â ÇÏÀ§ÀÇ »çºê¸® ÆÄ¾÷¿¡ ÀÖ¾î¼ÀÇ ÃÖ°í ·¹º§ÀÇ ¿ä¼Ò°¡ »óÀ§ÀÇ »çºê¸® ÆÄ¾÷¿¡ ÀÖ¾î¼ÀÇ ÃÖÀú ·¹º§ÀÇ ¿ä¼Òº¸´Ù ÀÛÀº °æ¿ì, merge´Â »ý·« µË´Ï´Ù. ÀÌ ¾Ë°í¸®ÁòÀº Ç×»ó n log(n)ÀÇ ÆÛÆ÷¸Õ½º¸¦ Á¦°øÇØ, °ÅÀÇ ¼ÒÆ® µÈ ¸®½ºÆ®¿¡¼´Â ÆÛÆ÷¸Õ½º´Â ÀÏÂ÷½Ä¿¡ °¡±î¿öÁö´Â °æ¿ìµµ ÀÖ½À´Ï´Ù.
ÁöÁ¤µÈ ¸®½ºÆ®´Â º¯°æ °¡´ÉÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù, »çÀÌÁî º¯°æÀº ÇÒ ¼ö ¾ø¾îµµ ±¦Âú½À´Ï´Ù. ÀÌ ±¸ÇöÀº ÁöÁ¤µÈ ¸®½ºÆ®ÀÇ ¹è¿¿¡ÀÇ ´ýÇÁ, ¹è¿ÀÇ ¼ÒÆ®, ¸®½ºÆ®ÀÇ ¹Ýº¹ 󸮸¦ ½Ç½ÃÇÏ´Â °ÍÀ¸·Î, ¹è¿ÀÇ ´ëÀÀÇÏ´Â À§Ä¡·ÎºÎÅÍ °¢ ¿ä¼Ò¸¦ Àç¼³Á¤ÇÕ´Ï´Ù. À̰ÍÀº ¸µÅ© µÈ ¸®½ºÆ®¸¦ Àû¼Ò¿¡ ¼ÒÆ® ÇÏ·Á°í ÇßÀ» °æ¿ìÀÇ n2 log(n)ÀÇ ÆÛÆ÷¸Õ½º°¡ µÇ´Â °ÍÀ» ȸÇÇÇÕ´Ï´Ù.
list
- ¼ÒÆ® µÇ´Â ¸®½ºÆ®c
- ¸®½ºÆ®ÀÇ ¼ø¼¸¦ °áÁ¤ÇÏ´Â ÄÞÆÛ·¹ÀÌÅÍ. null Ä¡´Â ¿ä¼ÒÀÇ ¡¸ÀÚ¿¬ ¼ø¼ ºÙÀÌ°í¡¹¸¦ »ç¿ëÇÏ´Â °ÍÀ» ³ªÅ¸³½´Ù
ClassCastException
- ¸®½ºÆ®·Î ÁöÁ¤µÈ ÄÞÆÛ·¹ÀÌÅÍ·Î ¡¸¼·Î ºñ±³¡¹ÇÒ ¼ö ¾ø´Â ¿ä¼Ò°¡ ÀÖ´Â °æ¿ì
UnsupportedOperationException
- ÁöÁ¤µÈ ¸®½ºÆ®ÀÇ ¸®½ºÆ® ¹Ýº¹ÀÚ°¡ set ¿ÀÆÛ·¹À̼ÇÀ» ¼Æ÷Æ®ÇÏÁö ¾Ê´Â °æ¿ìComparator
public static int binarySearch(List list, Object key)
¡¸·£´ý ¾ï¼¼½º¡¹¸®½ºÆ®ÀÇ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â log(n) ½Ã°£¿¡ µ¿ÀÛÇÕ´Ï´Ù (À§Ä¡¸¦ ÁöÁ¤ÇÑ ¾×¼¼½º¿¡ °ÅÀÇ ÀÏÁ¤ÇÑ ½Ã°£ÀÌ ÇÊ¿ä). ÁöÁ¤µÈ ¸®½ºÆ®°¡ RandomAccess
¡¡(À»)¸¦ ±¸ÇöÇÏÁö ¾Ê°í Å« ¸®½ºÆ®ÀÎ °æ¿ì, O(n) ¸µÅ© È£¶ûÀÌ ¿ë±â¿Í O(log n) ¿ä¼Ò ºñ±³¸¦ ½ÇÇàÇÏ´Â ¹Ýº¹ÀÚ º£À̽ºÀÇ ¹ÙÀ̳ʸ® ¼Ä¡¸¦, ÀÌ ¸Þ¼Òµå´Â ½Ç½ÃÇÕ´Ï´Ù.
list
- °Ë»öµÇ´Â ¸®½ºÆ®key
- °Ë»öµÇ´Â Ű
ClassCastException
- ¸®½ºÆ®¿¡ ¡¸¼·Î ºñ±³ °¡´É¡¹ÀÌ ¾Æ´Ñ ¿ä¼Ò (¿¹¸¦ µé¾î, ij¸¯ÅÍ ¶óÀΰú Á¤¼ö)°¡ ÀÖ´Â °æ¿ì, ¶Ç´Â °Ë»ö ۰¡ ¸®½ºÆ®ÀÇ ¿ä¼Ò·Î ¼·Î ºñ±³ °¡´ÉÇÏÁö ¾ÊÀº °æ¿ìComparable
,
sort(List)
public static int binarySearch(List list, Object key, Comparator c)
¡¸·£´ý ¾ï¼¼½º¡¹¸®½ºÆ®ÀÇ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â log(n) ½Ã°£¿¡ µ¿ÀÛÇÕ´Ï´Ù (À§Ä¡¸¦ ÁöÁ¤ÇÑ ¾×¼¼½º¿¡ °ÅÀÇ ÀÏÁ¤ÇÑ ½Ã°£ÀÌ ÇÊ¿ä). ÁöÁ¤ ¸®½ºÆ®°¡ RandomAccess
¡¡(À»)¸¦ ±¸ÇöÇÏÁö ¾Ê°í Å« °æ¿ì´Â O(n) ¸µÅ© È£¶ûÀÌ ¿ë±â¿Í O(log n) ¿ä¼Ò ºñ±³¸¦ ½ÇÇàÇÏ´Â ¹Ýº¹ÀÚ º£À̽ºÀÇ ¹ÙÀ̳ʸ® ¼Ä¡¸¦, ÀÌ ¸Þ¼Òµå´Â ½Ç½ÃÇÕ´Ï´Ù.
list
- °Ë»öµÇ´Â ¸®½ºÆ®key
- °Ë»öµÇ´Â Űc
- ¸®½ºÆ®°¡ ¼ø¼ ºÙÀÌ°í µÇ´Â ÄÞÆÛ·¹ÀÌÅÍ. null Ä¡´Â ¿ä¼ÒÀÇ ¡¸ÀÚ¿¬ ¼ø¼ ºÙÀÌ°í¡¹¸¦ »ç¿ëÇÏ´Â °ÍÀ» ³ªÅ¸³½´Ù
ClassCastException
- ¸®½ºÆ®·Î ÁöÁ¤µÈ ÄÞÆÛ·¹ÀÌÅÍ·Î ¡¸¼·Î ºñ±³ °¡´É¡¹ÀÌ ¾Æ´Ñ ¿ä¼Ò°¡ ÀÖ´Â °æ¿ì, ¶Ç´Â °Ë»ö ۰¡ ÀÌ ÄÞÆÛ·¹ÀÌÅ͸¦ »ç¿ëÇØ ¸®½ºÆ®ÀÇ ¿ä¼Ò·Î ¼·Î ºñ±³ÇÒ ¼ö ¾ø´Â °æ¿ìComparable
,
sort(List, Comparator)
public static void reverse(List list)
ÀÌ ¸Þ¼Òµå´Â ÀÏÂ÷ ½Ã°£¿¡ µ¿ÀÛÇÕ´Ï´Ù.
list
- ¿ä¼ÒÀÇ ¼ø¼°¡ ¹Ý´ë·Î µÇ´Â ¸®½ºÆ®
UnsupportedOperationException
- ÁöÁ¤µÈ ¸®½ºÆ® ¶Ç´Â ±× ¸®½ºÆ® ¹Ýº¹ÀÚ°¡ set ¸Þ¼Òµå¸¦ ¼Æ÷Æ®ÇÏÁö ¾Ê´Â °æ¿ìpublic static void shuffle(List list)
»ó±âÀÇ ¼³¸íÀ¸·Î ¡¸°ÅÀÇ¡¹¶ó°í ÇÏ´Â ¸»À» »ç¿ëÇϰí ÀÖ´Â °ÍÀº random number generationÀÇ ¿øÀÌ µÇ´Â µðÆúÆ®ÀÇ ¼Ò½º°¡, µ¶¸³ÇØ ¼±ÅÃµÈ ºñÆ®ÀÇ ¼Ò½º·Î¼ ÆíÇâÀÌ ¾ø´Â °ÍÀº ±Ù»çÀûÀ¸·Î ¸¶¼Å ¼º¸³Çϱ⠶§¹®ÀÔ´Ï´Ù. ·£´ý¿¡ ¼±ÅÃµÈ ¿ÏÀüÇÑ ¼Ò½ºÀ̸é, ¾Ë°í¸®ÁòÀÌ Æí¼ºÀ» ¼±ÅÃÇÏ´Â È®·üÀº ¿ÏÀüÇÏ°Ô ÇѰᰰ°Ô µË´Ï´Ù.
ÀÌ ±¸ÇöÀº ¸®½ºÆ®ÀÇ ¸¶Áö¸· ¿ä¼Ò·ÎºÎÅÍ 2 ¹øÂ°ÀÇ ¿ä¼Ò±îÁö ¿ª¹æÇâÀ¸·Î ´õµë¾î, ¹«ÀÛÀ§·Î ¼±ÅÃµÈ ¿ä¼Ò¸¦ ¡¸ÇöÀçÀÇ À§Ä¡¡¹¿¡ ¹Ýº¹ÇØ ¹Ù²ã ³Ö½À´Ï´Ù. ¿ä¼Ò´Â ¸®½ºÆ®ÀÇ ÃÖÃÊÀÇ ¿ä¼Ò·ÎºÎÅÍ ÇöÀçÀÇ À§Ä¡±îÁöÀÇ ¹üÀ§¿¡¼ ¹«ÀÛÀ§·Î ¼±Åõ˴ϴÙ.
ÀÌ ¸Þ¼Òµå´Â 1 Â÷ ½Ã°£¿¡ µ¿ÀÛÇÕ´Ï´Ù. ÁöÁ¤µÈ ¸®½ºÆ®°¡ RandomAccess
¸¦ ±¸ÇöÇÏÁö ¾Ê°í Å« ¸®½ºÆ®ÀÎ °æ¿ì, ¸®½ºÆ®ÀÇ ¼ø¼¸¦ ¹Ù²ã ³Ö±â Àü¿¡, ÀÌ ±¸ÇöÀº ÁöÁ¤µÈ ¸®½ºÆ®¸¦ ¹è¿¿¡ ´ýÇÁ ÇØ, ´ÙÀ½À¸·Î ¹Ù²Ù¾î ³ÖÀº ¹è¿À» ¸®½ºÆ®¿¡ ´ýÇÁ ÇØ µÇµ¹¸³´Ï´Ù. ÀûÀýÈ÷ ¡¸Â÷·ÊÂ÷·Ê ¾×¼¼½º¡¹¸®½ºÆ®ÀÇ ¼ø¼¸¦ ¹Ù²ã ³Ö´Â °Í¿¡ ÀÇÇØ ÀϾ´Â 2 Â÷ µ¿ÀÛÀ» ÇÇÇϱâ (À§ÇØ)¶§¹®¿¡ÀÔ´Ï´Ù.
list
- ¼ø¼¸¦ ¹Ù²ã ³ÖÀ» ¼ö ÀÖ´Â ¸®½ºÆ®
UnsupportedOperationException
- ÁöÁ¤µÈ ¸®½ºÆ® ¶Ç´Â ±× ¸®½ºÆ® ¹Ýº¹ÀÚ°¡ set ¸Þ¼Òµå¸¦ ¼Æ÷Æ®ÇÏÁö ¾Ê´Â °æ¿ìpublic static void shuffle(List list, Random rnd)
ÀÌ ±¸ÇöÀº ¸®½ºÆ®ÀÇ ¸¶Áö¸· ¿ä¼Ò·ÎºÎÅÍ 2 ¹øÂ°ÀÇ ¿ä¼Ò±îÁö ¿ª¹æÇâÀ¸·Î ´õµë¾î, ¹«ÀÛÀ§·Î ¼±ÅÃµÈ ¿ä¼Ò¸¦ ¡¸ÇöÀçÀÇ À§Ä¡¡¹¿¡ ¹Ýº¹ÇØ ¹Ù²ã ³Ö½À´Ï´Ù. ¿ä¼Ò´Â ¸®½ºÆ®ÀÇ ÃÖÃÊÀÇ ¿ä¼Ò·ÎºÎÅÍ ÇöÀçÀÇ À§Ä¡±îÁöÀÇ ¹üÀ§¿¡¼ ¹«ÀÛÀ§·Î ¼±Åõ˴ϴÙ.
ÀÌ ¸Þ¼Òµå´Â 1 Â÷ ½Ã°£¿¡ µ¿ÀÛÇÕ´Ï´Ù. ÁöÁ¤µÈ ¸®½ºÆ®°¡ RandomAccess
ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏÁö ¾Ê´Â Å« ¸®½ºÆ®ÀÎ °æ¿ì, ¸®½ºÆ®ÀÇ ¼ø¼¸¦ ¹Ù²ã ³Ö±â Àü¿¡, ÀÌ ±¸ÇöÀº ÁöÁ¤µÈ ¸®½ºÆ®¸¦ ¹è¿¿¡ ´ýÇÁ ÇØ, ´ÙÀ½À¸·Î ¹Ù²Ù¾î ³ÖÀº ¹è¿À» ¸®½ºÆ®¿¡ ´ýÇÁ ÇØ µÇµ¹¸³´Ï´Ù. ÀûÀýÈ÷ ¡¸Â÷·ÊÂ÷·Ê ¾×¼¼½º¡¹¸®½ºÆ®ÀÇ ¼ø¼¸¦ ¹Ù²ã ³Ö´Â °Í¿¡ ÀÇÇØ ÀϾ´Â 2 Â÷ µ¿ÀÛÀ» ÇÇÇϱâ (À§ÇØ)¶§¹®¿¡ÀÔ´Ï´Ù.
list
- ¼ø¼¸¦ ¹Ù²ã ³ÖÀ» ¼ö ÀÖ´Â ¸®½ºÆ®rnd
- ¸®½ºÆ®ÀÇ ¼ø¼¸¦ ¹Ù²ã ³Ö±â À§Çؼ(¶§¹®¿¡) »ç¿ëÇÏ´Â random number generationÀÇ ¿ø
UnsupportedOperationException
- ÁöÁ¤µÈ ¸®½ºÆ® ¶Ç´Â ±× ¸®½ºÆ® ¹Ýº¹ÀÚ°¡ set ¿ÀÆÛ·¹À̼ÇÀ» ¼Æ÷Æ®ÇÏÁö ¾Ê´Â °æ¿ì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())public static void fill(List list, Object obj)
ÀÌ ¸Þ¼Òµå´Â 1 Â÷ ½Ã°£¿¡ µ¿ÀÛÇÕ´Ï´Ù.
list
- ÁöÁ¤µÈ ¿ä¼Ò°¡ »ðÀԵǴ ¸®½ºÆ®obj
- ÁöÁ¤µÈ ¸®½ºÆ®¿¡ »ðÀԵǴ ¿ä¼Ò
UnsupportedOperationException
- ÁöÁ¤µÈ ¸®½ºÆ® ¶Ç´Â ±× ¸®½ºÆ® ¹Ýº¹ÀÚ°¡ set ¿ÀÆÛ·¹À̼ÇÀ» ¼Æ÷Æ®ÇÏÁö ¾Ê´Â °æ¿ìpublic static void copy(List dest, List src)
ÀÌ ¸Þ¼Òµå´Â 1 Â÷ ½Ã°£¿¡ µ¿ÀÛÇÕ´Ï´Ù.
dest
- Ä«ÇÇóÀÇ ¸®½ºÆ®src
- Ä«ÇÇ¿øÀÇ ¸®½ºÆ®
IndexOutOfBoundsException
- Ä«ÇÇóÀÇ ¸®½ºÆ®°¡ Ä«ÇÇ¿øÀÇ ¸®½ºÆ® Àüü¸¦ ÀúÀåÇϱ⿡´Â ³Ê¹« ÀÛÀº °æ¿ì
UnsupportedOperationException
- Ä«ÇÇ ¸®½ºÆ®ÀÇ ¸®½ºÆ® ¹Ýº¹ÀÚ°¡ set ¿ÀÆÛ·¹À̼ÇÀ» ¼Æ÷Æ®ÇÏÁö ¾Ê´Â °æ¿ìpublic static Object min(Collection coll)
ÀÌ ¸Þ¼Òµå´Â ÄÝ·º¼Ç Àüü·Î ¹Ýº¹ 󸮸¦ ½Ç½ÃÇϹǷÎ, ÄÝ·º¼ÇÀÇ »çÀÌÁî ¿¡ ºñ·ÊÇÑ ½Ã°£ÀÌ ÇÊ¿äÇÕ´Ï´Ù.
coll
- ÃÖ¼ÒÀÇ ¿ä¼Ò¸¦ °áÁ¤ÇÏ´Â ÄÝ·º¼Ç
ClassCastException
- ÄÝ·º¼Ç¿¡ ¡¸¼·Î ºñ±³ °¡´É¡¹ÀÌ ¾Æ´Ñ ¿ä¼Ò (¿¹¸¦ µé¾î, ij¸¯ÅÍ ¶óÀΰú Á¤¼ö)°¡ ÀÖ´Â °æ¿ì
NoSuchElementException
- ÄÝ·º¼ÇÀÌ ºñ¾úÀ» °æ¿ìComparable
public static Object min(Collection coll, Comparator comp)
ÀÌ ¸Þ¼Òµå´Â ÄÝ·º¼Ç Àüü·Î ¹Ýº¹ 󸮸¦ ½Ç½ÃÇϹǷÎ, ÄÝ·º¼ÇÀÇ »çÀÌÁî ¿¡ ºñ·ÊÇÑ ½Ã°£ÀÌ ÇÊ¿äÇÕ´Ï´Ù.
coll
- ÃÖ¼ÒÀÇ ¿ä¼Ò¸¦ °áÁ¤ÇÏ´Â ÄÝ·º¼Çcomp
- ÃÖ¼ÒÀÇ ¿ä¼Ò ¸®½ºÆ®°¡ °áÁ¤µÇ´Â ÄÞÆÛ·¹ÀÌÅÍ. null Ä¡´Â ¿ä¼ÒÀÇ ¡¸ÀÚ¿¬ ¼ø¼ ºÙÀÌ°í¡¹¸¦ »ç¿ëÇÏ´Â °ÍÀ» ³ªÅ¸³½´Ù
ClassCastException
- ÄÝ·º¼ÇÀ¸·Î ÁöÁ¤µÈ ÄÞÆÛ·¹ÀÌÅÍ·Î ¡¸¼·Î ºñ±³¡¹ÇÒ ¼ö ¾ø´Â ¿ä¼Ò°¡ ÀÖ´Â °æ¿ì
NoSuchElementException
- ÄÝ·º¼ÇÀÌ ºñ¾úÀ» °æ¿ìComparable
public static Object max(Collection coll)
ÀÌ ¸Þ¼Òµå´Â ÄÝ·º¼Ç Àüü·Î ¹Ýº¹ 󸮸¦ ½Ç½ÃÇϹǷÎ, ÄÝ·º¼ÇÀÇ »çÀÌÁî ¿¡ ºñ·ÊÇÑ ½Ã°£ÀÌ ÇÊ¿äÇÕ´Ï´Ù.
coll
- ÃÖ´ëÀÇ ¿ä¼Ò¸¦ °áÁ¤ÇÏ´Â ÄÝ·º¼Ç
ClassCastException
- ÄÝ·º¼Ç¿¡ ¡¸¼·Î ºñ±³ °¡´É¡¹ÀÌ ¾Æ´Ñ ¿ä¼Ò (¿¹¸¦ µé¾î, ij¸¯ÅÍ ¶óÀΰú Á¤¼ö)°¡ ÀÖ´Â °æ¿ì
NoSuchElementException
- ÄÝ·º¼ÇÀÌ ºñ¾úÀ» °æ¿ìComparable
public static Object max(Collection coll, Comparator comp)
ÀÌ ¸Þ¼Òµå´Â ÄÝ·º¼Ç Àüü·Î ¹Ýº¹ 󸮸¦ ½Ç½ÃÇϹǷÎ, ÄÝ·º¼ÇÀÇ »çÀÌÁî ¿¡ ºñ·ÊÇÑ ½Ã°£ÀÌ ÇÊ¿äÇÕ´Ï´Ù.
coll
- ÃÖ´ëÀÇ ¿ä¼Ò¸¦ °áÁ¤ÇÏ´Â ÄÝ·º¼Çcomp
- ÃÖ´ëÀÇ ¿ä¼Ò ¸®½ºÆ®¸¦ °áÁ¤ÇÏ´Â ÄÞÆÛ·¹ÀÌÅÍ. null Ä¡´Â ¿ä¼ÒÀÇ ¡¸ÀÚ¿¬ ¼ø¼ ºÙÀÌ°í¡¹¸¦ »ç¿ëÇÏ´Â °ÍÀ» ³ªÅ¸³½´Ù
ClassCastException
- ÄÝ·º¼ÇÀ¸·Î ÁöÁ¤µÈ ÄÞÆÛ·¹ÀÌÅÍ·Î ¡¸¼·Î ºñ±³¡¹ÇÒ ¼ö ¾ø´Â ¿ä¼Ò°¡ ÀÖ´Â °æ¿ì
NoSuchElementException
- ÄÝ·º¼ÇÀÌ ºñ¾úÀ» °æ¿ìComparable
public static void rotate(List list, int distance)
¿¹¸¦ µé¾î,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 ¸Þ¼Òµå¸¦ ¼Æ÷Æ®ÇÏÁö ¾Ê´Â °æ¿ìpublic static boolean replaceAll(List list, Object oldVal, Object newVal)
list
- ġȯÀÌ »ý±â´Â ¸®½ºÆ®oldVal
- ġȯÀüÀÇ °ªnewVal
- oldVal ÀÇ Ä¡È¯ ÈÄÀÇ °ª
UnsupportedOperationException
- ÁöÁ¤µÈ ¸®½ºÆ® ¶Ç´Â ±× ¸®½ºÆ® ¹Ýº¹ÀÚ°¡ set ¸Þ¼Òµå¸¦ ¼Æ÷Æ®ÇÏÁö ¾Ê´Â °æ¿ìpublic static int indexOfSubList(List source, List target)
ÀÌ ±¸ÇöÀº ¼Ò½º ¸®½ºÆ®¸¦ ½ºÄ³´× ÇÏ´Â ¡¸°ÇàÀΡ¹±â¼úÀ» »ç¿ëÇØ, ¼Ò½º ¸®½ºÆ®ÀÇ ¿©·¯ºÐÄ¡·Î Ÿ°Ù°ú ÀÏÄ¡ÇÒ±î Â÷·Ê·Î °Ë»öÇÕ´Ï´Ù.
source
- ÃÖÃÊ·Î ÃâÇöÇÏ´Â target ¸¦ °Ë»öÇÏ´Â ¸®½ºÆ®target
- source ÀÇ subList ·Î¼ °Ë»öÇÏ´Â ¸®½ºÆ®
public static int lastIndexOfSubList(List source, List target)
ÀÌ ±¸Çö¿¡¼´Â ¼Ò½º ¸®½ºÆ®ÀÇ ¹Ýº¹ 󸮸¦ ½Ç½ÃÇÏ´Â ¡¸°ÇàÀΡ¹±â¼úÀ» »ç¿ëÇØ, ¿©·¯ºÐÄ¡·Î Ÿ°Ù°ú ÀÏÄ¡ÇÒ±î Â÷·Ê·Î °Ë»öÇÕ´Ï´Ù.
source
- ¸¶Áö¸·¿¡ ÃâÇöÇÏ´Â target ¸¦ °Ë»öÇÏ´Â ¸®½ºÆ®target
- source ÀÇ subList ·Î¼ °Ë»öÇÏ´Â ¸®½ºÆ®
public static Collection unmodifiableCollection(Collection c)
µ¹·ÁÁÖ¾îÁø ÄÝ·º¼ÇÀº hashCode ¿ÀÆÛ·¹ÀÌ¼Ç ¹× equals ¿ÀÆÛ·¹À̼ÇÀ» ±â°¡ µÇ´Â ÄÝ·º¼Ç¿¡ °Ç³×ÁÙ °ÍÀº ¾ø°í,Object ÀÇ equals ¸Þ¼Òµå ¹× hashCode ¸Þ¼Òµå¿¡ ÀÇÁ¸ÇÕ´Ï´Ù. À̰ÍÀº ±â°¡ µÇ´Â ÄÝ·º¼ÇÀÌ ¼¼Æ® ¶Ç´Â ¸®½ºÆ®ÀÇ °æ¿ì¿¡ ±×·¯ÇÑ ¿ÀÆÛ·¹À̼ÇÀÇ ±Ô¾àÀ» Áö۱â À§Çؼ ÇÊ¿äÇÕ´Ï´Ù.
µ¹·ÁÁÖ¾îÁø ÄÝ·º¼ÇÀº ÁöÁ¤µÈ ÄÝ·º¼ÇÀÌ Á÷·ÄÈ °¡´ÉÀÇ °æ¿ì´Â Á÷·ÄÈ °¡´ÉÇÕ´Ï´Ù.
c
- º¯°æ ºÒ°¡´ÉÇÑ ºä°¡ µ¹·ÁÁÖ¾îÁö´Â ÄÝ·º¼Ç
public static Set unmodifiableSet(Set s)
µ¹·ÁÁÖ¾îÁö´Â ¼¼Æ®´Â ÁöÁ¤µÈ ¼¼Æ®°¡ Á÷·ÄÈ °¡´ÉÀÇ °æ¿ì¿¡ Á÷·ÄÈ °¡´ÉÇÏ°Ô µË´Ï´Ù.
s
- º¯°æ ºÒ°¡´ÉÇÑ ºä°¡ µ¹·ÁÁÖ¾îÁö´Â ¼¼Æ®
public static SortedSet unmodifiableSortedSet(SortedSet s)
µ¹·ÁÁÖ¾îÁø ¼ÒÆ® ¼¼Æ®´Â ÁöÁ¤µÈ ¼ÒÆ® ¼¼Æ®°¡ Á÷·ÄÈ °¡´ÉÀÇ °æ¿ì´Â Á÷·ÄÈ °¡´ÉÇÕ´Ï´Ù.
s
- º¯°æ ºÒ°¡´ÉÇÑ ºä°¡ µ¹·ÁÁÖ¾îÁö´Â ¼ÒÆ® ¼¼Æ®
public static List unmodifiableList(List list)
µ¹·ÁÁÖ¾îÁø ¸®½ºÆ®´Â ÁöÁ¤µÈ ¸®½ºÆ®°¡ Á÷·ÄÈ °¡´ÉÀÇ °æ¿ì¿¡¸¸ Á÷·ÄÈ °¡´ÉÇÏ°Ô µË´Ï´Ù. ¶Ç, ÁöÁ¤µÈ ¸®½ºÆ®°¡ RandomAccess
¸¦ ±¸ÇöÇÏ´Â °æ¿ì¿¡¸¸, µ¹·ÁÁÖ¾îÁø ¸®½ºÆ®´Â RandomAccess
¸¦ ±¸ÇöÇÕ´Ï´Ù.
list
- º¯°æ ºÒ°¡´ÉÇÑ ºä°¡ µ¹·ÁÁÖ¾îÁö´Â ¸®½ºÆ®
public static Map unmodifiableMap(Map m)
µ¹·ÁÁÖ¾îÁø MAP´Â ÁöÁ¤µÈ MAP°¡ Á÷·ÄÈ °¡´ÉÀÇ °æ¿ì´Â Á÷·ÄÈ °¡´ÉÇÕ´Ï´Ù.
m
- º¯°æ ºÒ°¡´ÉÇÑ ºä°¡ µ¹·ÁÁÖ¾îÁö´Â MAP
public static SortedMap unmodifiableSortedMap(SortedMap m)
µ¹·ÁÁÖ¾îÁø ¼ÒÆ® MAP´Â ÁöÁ¤µÈ ¼ÒÆ® MAP°¡ Á÷·ÄÈ °¡´ÉÀÇ °æ¿ì´Â Á÷·ÄÈ °¡´ÉÇÕ´Ï´Ù.
m
- º¯°æ ºÒ°¡´ÉÇÑ ºä°¡ µ¹·ÁÁÖ¾îÁö´Â ¼ÒÆ® MAP
public static Collection synchronizedCollection(Collection c)
µ¹·ÁÁÖ¾îÁø ÄÝ·º¼ÇÀÇ ¹Ýº¹ 󸮸¦ ½Ç½ÃÇÏ´Â °æ¿ì, À¯Àú´Â ´ÙÀ½¿¡ ³ªÅ¸³»µµ·Ï(µíÀÌ) ¼öµ¿À¸·Î µ¿±â¸¦ ÀâÀ» Çʿ䰡 ÀÖ½À´Ï´Ù.
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
- µ¿±â ÄÝ·º¼Ç¿¡ ¡¸·¦¡¹µÇ´Â ÄÝ·º¼Ç
public static Set synchronizedSet(Set s)
µ¹·ÁÁÖ¾îÁø ¼¼Æ®ÀÇ ¹Ýº¹ 󸮸¦ ½Ç½ÃÇÏ´Â °æ¿ì, À¯Àú´Â ´ÙÀ½¿¡ ³ªÅ¸³»µµ·Ï(µíÀÌ) ¼öµ¿À¸·Î µ¿±â¸¦ ÀâÀ» Çʿ䰡 ÀÖ½À´Ï´Ù.
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
- µ¿±â ¼¼Æ®¿¡ ¡¸·¦¡¹µÇ´Â ¼¼Æ®
public static SortedSet synchronizedSortedSet(SortedSet s)
µ¹·ÁÁÖ¾îÁø ¼ÒÆ® ¼¼Æ®, ¶Ç´Â ±× 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
- µ¿±â ¼ÒÆ® ¼¼Æ®¿¡ ¡¸·¦¡¹µÇ´Â ¼ÒÆ® ¼¼Æ®
public static List synchronizedList(List list)
µ¹·ÁÁÖ¾îÁø ¸®½ºÆ®ÀÇ ¹Ýº¹ 󸮸¦ ½Ç½ÃÇÏ´Â °æ¿ì, À¯Àú´Â ´ÙÀ½¿¡ ³ªÅ¸³»µµ·Ï(µíÀÌ) ¼öµ¿À¸·Î µ¿±â¸¦ ÀâÀ» Çʿ䰡 ÀÖ½À´Ï´Ù.
List list = Collections.synchronizedList(new ArrayList()); ... synchronized(list) { Iterator i = list.iterator(); // Must be in synchronized block while (i.hasNext()) foo(i.next()); }À̰ÍÀ» ½Ç½ÃÇÏÁö ¾Ê´Â °æ¿ì, µ¿ÀÛÀº ÇÁ·ÎÅØ¼ÇµÇÁö ¾Ê½À´Ï´Ù.
µ¹·ÁÁÖ¾îÁø ¸®½ºÆ®´Â ÁöÁ¤µÈ ¸®½ºÆ®°¡ Á÷·ÄÈ °¡´ÉÀÇ °æ¿ì¿¡¸¸ Á÷·ÄÈ °¡´ÉÇÏ°Ô µË´Ï´Ù.
list
- µ¿±â ¸®½ºÆ®¿¡ ¡¸·¦¡¹µÇ´Â ¸®½ºÆ®
public static Map synchronizedMap(Map m)
µ¹·ÁÁÖ¾îÁø 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
public static SortedMap synchronizedSortedMap(SortedMap m)
µ¹·ÁÁÖ¾îÁø ¼ÒÆ® 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
public static Set singleton(Object o)
o
- µ¹·ÁÁÖ¾îÁö´Â ¼¼Æ®¿¡ ÀúÀåµÇ°í ÀÖ´Â À¯ÀÏÇÑ ¿ÀºêÁ§Æ®
public static List singletonList(Object o)
o
- µ¹·ÁÁÖ¾îÁö´Â ¸®½ºÆ®¿¡ ÀúÀåµÇ°í ÀÖ´Â À¯ÀÏÇÑ ¿ÀºêÁ§Æ®
public static Map singletonMap(Object key, Object value)
key
- µ¹·ÁÁÖ¾îÁö´Â MAP¿¡ ÀúÀåµÇ°í ÀÖ´Â À¯ÀÏÇÑ Å°value
- µ¹·ÁÁÖ¾îÁö´Â MAP¿¡ ÀÇÇØ key °¡ ¸ÅÇÎ µÇ´Â °ª
public static List nCopies(int n, Object o)
n
- µ¹·ÁÁÖ¾îÁö´Â ¸®½ºÆ®ÀÇ ¿ä¼Ò¼öo
- µ¹·ÁÁÖ¾îÁö´Â ¸®½ºÆ®¿¡ ¹Ýº¹ÇØ ³ªÅ¸³ª´Â ¿ä¼Ò
IllegalArgumentException
- n < 0 ÀÇ °æ¿ìList.addAll(Collection)
,
List.addAll(int, Collection)
public static Comparator reverseOrder()
Arrays.sort(a, Collections.reverseOrder());¿ªÀÎ ³ª¹«ÀÇ »çÀü ÆíÁý¼ø¼ (¾ËÆÄºª¼ø¼)·Î ¹è¿À» ¼ÒÆ® ÇÕ´Ï´Ù.
µ¹·ÁÁÖ¾îÁö´Â ÄÞÆÛ·¹ÀÌÅÍ´Â Á÷·ÄÈ °¡´ÉÇÕ´Ï´Ù.
Comparable
public static Enumeration enumeration(Collection c)
c
- ¿°Å°¡ µ¹·ÁÁÖ¾îÁö´Â ÄÝ·º¼Ç
Enumeration
public static ArrayList list(Enumeration e)
e
- µ¹·ÁÁÖ¾îÁö´Â ¹è¿ ¸®½ºÆ®ÀÇ ¿ä¼Ò¸¦ Á¦°øÇÏ´Â ¿°Å
Enumeration
,
ArrayList
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
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.