JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.lang
ÀÎÅÍÆäÀ̽º Comparable

±âÁ¸ÀÇ ±¸Çö Ŭ·¡½ºÀÇ À϶÷:
BigDecimal , BigInteger , Byte , ByteBuffer , Character , CharBuffer , Charset , CollationKey , Date , Double , DoubleBuffer , File , Float , FloatBuffer , IntBuffer , Integer , Long , LongBuffer , ObjectStreamField , Short , ShortBuffer , String , URI

public interface Comparable

ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â °¢ Ŭ·¡½ºÀÇ ¿ÀºêÁ§Æ®¿¡ Àüü ¼ø¼­ºÎ¸¦ °­Á¦ÇÕ´Ï´Ù. ÀÌ ¼ø¼­ºÎ´Â Ŭ·¡½ºÀÇ ¡¸ÀÚ¿¬ ¼ø¼­ºÎ¡¹¶ó°í ºÒ·Á ÀÌ Å¬·¡½ºÀÇ compareTo ¸Þ¼Òµå´Â ¡¸ÀÚ¿¬ ºñ±³ ¸Þ¼Òµå¡¹¶ó°í ºÒ¸³´Ï´Ù.

ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â ¿ÀºêÁ§Æ®ÀÇ ¸®½ºÆ® ¹× ¹è¿­Àº Collections.sort ¹× Arrays.sort ¿¡ ÀÇÇØ ÀÚµ¿ÀûÀ¸·Î ¼ÒÆ® ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇÏ´Â ¿ÀºêÁ§Æ®´Â ÄÞÆÛ·¹ÀÌÅ͸¦ ÁöÁ¤ÇÏÁö ¾Ê¾Æµµ, ¼ÒÆ® µÈ MAPÀÇ Å° ¶Ç´Â ¼ÒÆ® µÈ ¼¼Æ®ÀÇ ¿ä¼Ò·Î¼­ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

Ŭ·¡½º C ÀÇ ÀÚ¿¬ ¼ø¼­ºÎ´Â Ŭ·¡½º C ÀÇ ¸ðµç e1 ¹× e2 ¿¡ ´ëÇØ,(e1.compareTo((Object) e2) == 0) °¡ e1.equals((Object) e2) ¿Í °°Àº boolean Ä¡¸¦ º¸°ü À¯ÁöÇÏ´Â °æ¿ì¿¡¸¸, ¡¸equals ¿ÍÀÇ Àϰü¼º¡¹À» º¸°ü À¯ÁöÇÕ´Ï´Ù. null ´Â ¾î´À Ŭ·¡½ºÀÇ ÀνºÅϽºÀ̱⵵ ÇÏÁö ¾Ê½À´Ï´Ù. e.equals(null) °¡ false ¸¦ µ¹·ÁÁÖ´Â °æ¿ì¿¡¼­µµ,e.compareTo(null) ´Â NullPointerException ¸¦ µ¹·ÁÁÝ´Ï´Ù.

ÀÚ¿¬ ¼ø¼­ºÎ¿¡¼­´Â equals ¿Í Àϰü¼ºÀÌ ÀÖ´Â °ÍÀº Çʼö°¡ ¾Æ´Õ´Ï´Ù¸¸ °­Çϰí Ãßõ µË´Ï´Ù. À̰ÍÀº ¸í½ÃÀûÀÎ ÄÞÆÛ·¹ÀÌÅ͸¦ ÁöÁ¤ÇÏÁö ¾Ê´Â ¼ÒÆ® µÈ ¼¼Æ®³ª ¼ÒÆ® µÈ MAP¸¦, ÀÚ¿¬ ¼ø¼­ºÎ°¡ equals ¿Í Àϰü¼ºÀÌ ¾ø´Â ¿ä¼Ò ¶Ç´Â Ű¿Í ÇÔ²² »ç¿ëÇϸé(ÀÚ), ¼¼Æ®¿Í MAPÀÇ µ¿ÀÛÀÌ ÇÁ·ÎÅØ¼ÇµÇÁö ¾Ê°Ô µÇ±â ¶§¹®ÀÔ´Ï´Ù. ƯÈ÷, ÀÌ·¯ÇÑ ¼ÒÆ® µÈ ¼¼Æ® ¶Ç´Â ¼ÒÆ® µÈ MAP´Â ¼¼Æ® ¶Ç´Â MAPÀÇ ÀϹÝÀûÀÎ ±Ô¾à¿¡ À§¹ÝÇÕ´Ï´Ù. ÀÌ ±Ô¾àÀº equals ¸Þ¼ÒµåÀÇ ¿ë¾î¸¦ ÀÌ¿ëÇØ Á¤Àǵǰí ÀÖ½À´Ï´Ù.

¿¹¸¦ µé¾î,(! a.equals((Object) b) && a.compareTo((Object) b) == 0) ¿¡ ÇØ´çÇÏ´Â 2 °³ÀÇ Å° a ¿Í b ¸¦, ¸í½ÃÀûÀÎ ÄÞÆÛ·¹ÀÌÅ͸¦ ÁöÁ¤ÇÏÁö ¾Ê´Â ¼ÒÆ® µÈ ¼¼Æ®¿¡ °¡¼¼Çϸé(ÀÚ),a ¿Í b ´Â ¼ÒÆ® µÈ ¼¼Æ®ÀÇ °üÁ¡À¸·ÎºÎÅÍ´Â µî°¡À̹ǷÎ, 2 ¹øÂ°ÀÇ add ¿ÀÆÛ·¹À̼ÇÀº false ¸¦ µ¹·ÁÁÖ¾î, ¼ÒÆ® µÈ ¼¼Æ®ÀÇ »çÀÌÁî´Â Ä¿ÁöÁö ¾Ê½À´Ï´Ù.

comparable ¸¦ ±¸ÇöÇÏ´Â ´ëºÎºÐÀÇ Java ÄÚ¾î Ŭ·¡½º´Â equals ¿Í Àϰü¼ºÀÌ ÀÖ´Â ÀÚ¿¬ ¼ø¼­ºÎ¸¦ °¡Áý´Ï´Ù. 1 °³ÀÇ ¿¹¿Ü´Â java.math.BigDecimal ÀÔ´Ï´Ù. ÀÌ Å¬·¡½ºÀÇ ÀÚ¿¬ ¼ø¼­ºÎ¿¡¼­´Â ´Ù¸¥ Á¤¹ÐµµÀÇ °°Àº °ª (4.0 À¸·Î 4.00 µî)À» °¡Áö´Â BigDecimal ¿ÀºêÁ§Æ®´Â µî°¡¶ó°í º¸¿©Áý´Ï´Ù.

¼öÇÐÀûÀ¸·Î´Â ÀÓÀÇÀÇ Å¬·¡½º C ¿¡ ´ëÇØ¼­ ÀÚ¿¬ ¼ø¼­ºÎ¸¦ Á¤ÀÇÇÏ´Â ¡¸¼ø¼­ °ü°è¡¹´Â ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.

       {(x, y) such that x.compareTo((Object) y) <= 0}.
 
ÀÌ Àüü ¼ø¼­ÀÇ ¡¸»ó¡¹Àº ´ÙÀ½°ú °°½À´Ï´Ù.
       {(x, y) such that x.compareTo((Object) y) == 0}.
 
compareTo ÀÇ ±Ô¾àÀ¸·ÎºÎÅÍ ÆÇ´ÜÇØ, »óÀÌ C ·Î ¡¸µ¿Ä¡ °ü°è¡¹¿¡ ÀÖ¾î, ÀÚ¿¬ ¼ø¼­ºÎ°¡ C ÀÇ ¡¸Àüü ¼ø¼­¡¹ÀÌ´Ù°í ÇÏ´Â °ÍÀº ºÐ¸íÇÕ´Ï´Ù. Ŭ·¡½ºÀÇ ÀÚ¿¬ ¼ø¼­ºÎ°¡ equals ¿Í Àϰü¼ºÀÌ ÀÖ´Ù°í ÇÏ´Â °ÍÀº ÀÚ¿¬ ¼ø¼­ºÎÀÇ »óÀÌ Å¬·¡½ºÀÇ ´ÙÀ½ÀÇ equals(Object) ¸Þ¼Òµå·Î Á¤ÀǵǴ µ¿Ä¡ °ü°è°¡ µÇ´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù.
     {(x, y) such that x.equals((Object) y)}.
 

µµÀÔµÈ ¹öÁ¯:
1.2
°ü·Ã Ç׸ñ:
Comparator , Collections.sort(java.util.List) , Arrays.sort(Object[]) , SortedSet , SortedMap , TreeSet , TreeMap

¸Þ¼ÒµåÀÇ °³¿ä
 int compareTo (Object  o)
          ÀÌ ¿ÀºêÁ§Æ®¿Í ÁöÁ¤µÈ ¿ÀºêÁ§Æ®ÀÇ ¼ø¼­¸¦ ºñ±³ÇÕ´Ï´Ù.
 

¸Þ¼ÒµåÀÇ »ó¼¼

compareTo

public int compareTo(Object  o)
ÀÌ ¿ÀºêÁ§Æ®¿Í ÁöÁ¤µÈ ¿ÀºêÁ§Æ®ÀÇ ¼ø¼­¸¦ ºñ±³ÇÕ´Ï´Ù. ÀÌ ¿ÀºêÁ§Æ®°¡ ÁöÁ¤µÈ ¿ÀºêÁ§Æ®º¸´Ù ÀÛÀº °æ¿ì´Â ºÎÀÇ Á¤¼ö, µ¿ÀÏÇÑ °æ¿ì´Â Á¦·Î, Å« °æ¿ì´Â Á¤ÀÇ Á¤¼ö¸¦ µ¹·ÁÁÝ´Ï´Ù.

Àü¼úÀÇ ¼³¸í¿¡¼­´Â sgn(expression) ¶ó°í Çϴ ǥ±â´Â ¼öÇÐ ÇÔ¼ö signum ÇÔ¼ö¸¦ ³ªÅ¸³»,expression ÀÇ °ª (ºÎÀÇ ¼ö, Á¦·Î, Á¤ÀÇ ¼ö)¿¡ ÀÀÇØ -1,0,1 ÀÇ ¾î¶² °ÍÀÎÁö¸¦ µ¹·ÁÁÝ´Ï´Ù. ±¸Çö¿¡¼­´Â ¸ðµç x ¿Í y ¿¡ ´ëÇØ¼­ sgn(x.compareTo(y)) == -sgn(y.compareTo(x)) °¡ ÇÁ·ÎÅØ¼ÇµÇÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. À̰ÍÀº y.compareTo(x) °¡ ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â °æ¿ì´Â x.compareTo(y) µµ ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù.

±¸Çö¿¡¼­´Â ¼ø¼­ °ü°è°¡ ÃßÀÌÀûÀÎ °Íµµ ÇÁ·ÎÅØ¼ÇµÇÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. Áï,(x.compareTo(y) >0 && y.compareTo(z) >0) ´Â x.compareTo(z) >0 ¸¦ ÀǹÌÇÕ´Ï´Ù.

°Ô´Ù°¡ ¸ðµç z ¿¡ ´ëÇØ¼­ x.compareTo(y)==0 °¡ sgn(x.compareTo(z)) == sgn(y.compareTo(z)) ¸¦ ÀǹÌÇÏ´Â Àϵµ ÇÁ·ÎÅØ¼ÇµÇÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.

Çʼö¶ó°í ÇÏ´Â °ÍÀº ¾Æ´Õ´Ï´Ù¸¸,(x.compareTo(y)==0) == (x.equals(y)) ÀÎ °ÍÀÌ °­Çϰí Ãßõ µË´Ï´Ù. ÀϹÝÀûÀ¸·Î,Comparable ÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇϰí Àִ Ŭ·¡½º¿¡¼­, ÀÌ Á¶°Ç¿¡ À§¹ÝÇϴ Ŭ·¡½º´Â ¸ðµÎ, ¸íÈ®ÇÏ°Ô ÀÌ »ç½ÇÀ» ³ªÅ¸³¾ Çʿ䰡 ÀÖ½À´Ï´Ù. ¡¸ÁÖ: ÀÌ Å¬·¡½º´Â equals ¿Í Àϰü¼ºÀÌ ¾ø´Â ÀÚ¿¬ ¼ø¼­ºÎ¸¦ °¡Áý´Ï´Ù¡¹ µî°ú ¸í½ÃÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
o - ºñ±³ ´ë»óÀÇ Object
¹Ýȯ°ª:
ÀÌ ¿ÀºêÁ§Æ®°¡ ÁöÁ¤µÈ ¿ÀºêÁ§Æ®º¸´Ù ÀÛÀº °æ¿ì´Â ºÎÀÇ Á¤¼ö, µ¿ÀÏÇÑ °æ¿ì´Â Á¦·Î, Å« °æ¿ì´Â Á¤ÀÇ Á¤¼ö
¿¹¿Ü:
ClassCastException - ÁöÁ¤µÈ ¿ÀºêÁ§Æ®ÀÇ ÇüŰ¡ ¿øÀÎÀ¸·Î, ÀÌ Object ¿Í ºñ±³ÇÒ ¼ö ¾ø´Â °æ¿ì

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.