|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
¿ÀºêÁ§Æ®ÀÇ ÄÝ·º¼ÇÀ¸·Î ¡¸Àüü ¼ø¼ ºÙÀÌ°í¡¹¸¦ ½Ç½ÃÇÏ´Â ºñ±³ ÇÔ¼öÀÔ´Ï´Ù. ÄÞÆÛ·¹ÀÌÅÍ (Comparator)¸¦ ¼ÒÆ® ¸Þ¼Òµå (Collections.sort µî)¿¡ °Ç³×ÁÖ¸é(ÀÚ), ¼ÒÆ®¼ø¼¸¦ Á¤È®ÇÏ°Ô Á¦¾îÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶Ç, ÄÞÆÛ·¹ÀÌÅ͸¦ »ç¿ëÇϸé(ÀÚ),TreeSet ¶Ç´Â TreeMap ¶ó°í ÇÏ´Â µ¥ÀÌÅÍ ±¸Á¶ÀÇ ¼ø¼¸¦ Á¦¾îÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÄÞÆÛ·¹ÀÌÅÍ c °¡ ¿ä¼Ò¼¼Æ® S ·Î ½Ç½ÃÇÏ´Â ¼ø¼ºÎ´Â S ÀÇ ¸ðµç e1 ¹× e2 ¿¡ ´ëÇØ (compare((Object) e1, (Object) e2)==0) °¡ e1.equals((Object) e2) ¿Í °°Àº boolean Ä¡¸¦ °¡Áö´Â °æ¿ì¿¡¸¸ equals ¿ÍÀÇ Àϰü¼ºÀÌ ÀÖ°Ô µË´Ï´Ù.
¼ÒÆ® ¼¼Æ® (¶Ç´Â ¼ÒÆ® MAP)¸¦ ¼ø¼ ºÙÀ̰í Çϱâ À§Çؼ, equals ¿Í Àϰü¼ºÀÌ ¾ø´Â ¼ø¼ºÎ¸¦ ½Ç½ÃÇÒ ¼ö°¡ ÀÖ´Â ÄÞÆÛ·¹ÀÌÅ͸¦ »ç¿ëÇÏ´Â °æ¿ì¿¡´Â ÁÖÀǰ¡ ÇÊ¿äÇÕ´Ï´Ù. ¸í½ÃÀûÀÎ ÄÞÆÛ·¹ÀÌÅÍ c ¸¦ °¡Áö´Â ¼ÒÆ® ¼¼Æ® (¶Ç´Â ¼ÒÆ® MAP)°¡ ¼¼Æ® S ·ÎºÎÅÍÀÇ ¿ä¼Ò (¶Ç´Â Ű)¿Í ÇÔ²² »ç¿ëµÇ¸é(ÀÚ) °¡Á¤ÇÕ´Ï´Ù. c ¿¡ ÀÇÇØ S ¿¡ ºÎ°úµÇ´Â ¼ø¼ºÎ°¡ equals ¿Í Àϰü¼ºÀÌ ¾ø´Â °æ¿ì, ¼ÒÆ® ¼¼Æ® (¶Ç´Â ¼ÒÆ® MAP)ÀÇ µ¿ÀÛÀº ÀÌ»óÇÏ°Ô µË´Ï´Ù. ƯÈ÷, ¼ÒÆ® ¼¼Æ® (¶Ç´Â ¼ÒÆ® MAP)´Â equals ·Î Á¤Àǵǰí ÀÖ´Â ¼¼Æ® (¶Ç´Â MAP)ÀÇ ÀÏ¹Ý ±Ô¾à¿¡ À§¹ÝÇÕ´Ï´Ù.
¿¹¸¦ µé¾î,(a.equals((Object) b) && c.compare((Object) a, (Object) b) ! = 0) ÀÎ 2 °³ÀÇ Å° a ¿Í b ¸¦ ÄÞÆÛ·¹ÀÌÅÍ c ¸¦ °¡Áö´Â ¼ÒÆ® ¼¼Æ®¿¡ Ãß°¡ÇÏ´Â °æ¿ì, 2 ¹øÂ°ÀÇ add ¿ÀÆÛ·¹À̼ÇÀº false ¸¦ µ¹·ÁÁÖ¾î, ¼ÒÆ® ¼¼Æ®ÀÇ »çÀÌÁî´Â Áõ°¡ÇÏÁö ¾Ê½À´Ï´Ù. À̰ÍÀº a ¿Í b °¡ ¼ÒÆ® ¼¼Æ®ÀÇ °üÁ¡¿¡¼´Â µ¿µîÇϱ⠶§¹®¿¡ÀÔ´Ï´Ù.
ÁÖ: Åë»óÀº ÄÞÆÛ·¹ÀÌÅÍ·Î java.io.Serializable ¸¦ ±¸ÇöÇØ ÁÖ¼¼¿ä. ±× ÀÌÀ¯´Â ÄÞÆÛ·¹ÀÌÅ͸¦ Á÷·ÄÈ °¡´É µ¥ÀÌÅÍ ±¸Á¶ (TreeSet,TreeMap µî) Áß(¾È)¿¡¼ ¼ø¼ºÎ ¸Þ¼Òµå·Î¼ »ç¿ëÇÒ ¼ö Àֱ⠶§¹®ÀÔ´Ï´Ù. µ¥ÀÌÅÍ ±¸Á¶ÀÇ Á÷·Äȸ¦ ¼º°ø½Ã۱â À§Çؼ(¶§¹®¿¡)´Â ÄÞÆÛ·¹ÀÌÅÍ (Á¦°øµÇ´Â °æ¿ì)´Â Serializable ¸¦ ±¸ÇöÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
¼öÇÐÀûÀ¸·Î´Â ÁöÁ¤µÈ ÄÞÆÛ·¹ÀÌÅÍ c °¡ ÁöÁ¤µÈ ¿ÀºêÁ§Æ®¼¼Æ® S ¿¡ ºÎ°úÇÏ´Â ¡¸Àüü ¼ø¼¡¹¸¦ Á¤ÀÇÇÏ´Â °ü°è´Â ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
{(x, y) such that c.compare((Object) x, (Object) y) <= 0}.ÀÌ Àüü ¼ø¼ÀÇ ¡¸»ó¡¹Àº ´ÙÀ½°ú °°½À´Ï´Ù.
{(x, y) such that c.compare((Object) x, (Object) y) == 0}.compare ÀÇ ±Ô¾àÀ¸·ÎºÎÅÍ, »óÀÌ S ¿¡¼ÀÇ ¡¸µî°¡ °ü°è¡¹À̸ç, ÀÚ¿¬ ¼ø¼ºÎ°¡ S ¿¡¼ÀÇ ¡¸Àüü ¼ø¼¡¹ÀÎ °ÍÀº ºÐ¸íÇÕ´Ï´Ù. c °¡ S ·Î ½Ç½ÃÇÏ´Â ¼ø¼ºÎ°¡ ¡¸equals ¿ÍÀÇ Àϰü¼º¡¹ÀÌ ÀÖ´Ù°í ÇÏ´Â °æ¿ì, ±×°ÍÀº ÀÚ¿¬ ¼ø¼ºÎÀÇ »óÀÌ ¿ÀºêÁ§Æ®ÀÇ equals(Object) ¸Þ¼Òµå·Î Á¤ÀÇµÈ µî°¡ °ü°èÀÎ °ÍÀ» ÀǹÌÇÕ´Ï´Ù.
{(x, y) such that x.equals((Object) y)}.
Comparable
,
Arrays.sort(Object[], Comparator)
,
TreeMap
,
TreeSet
,
SortedMap
,
SortedSet
,
Serializable
¸Þ¼ÒµåÀÇ °³¿ä | |
int |
compare (Object o1,
Object o2)
¼ø¼ºÎ¸¦ À§Çؼ(¶§¹®¿¡) 2 °³ÀÇ Àμö¸¦ ºñ±³ÇÕ´Ï´Ù. |
boolean |
equals (Object obj)
´Ù¸¥ ¿ÀºêÁ§Æ®°¡ ÀÌ ÄÞÆÛ·¹ÀÌÅÍ¿Í ¡¸µ¿ÀÏÇÏ´Ù¡¹ÈµµÀÎÁö¸¦ ³ªÅ¸³À´Ï´Ù. |
¸Þ¼ÒµåÀÇ »ó¼¼ |
public int compare(Object o1, Object o2)
±¸ÇöÀº ¸ðµç x ¹× y ·Î sgn(compare(x, y)) == -sgn(compare(y, x)) ¸¦ ÇÁ·ÎÅØ¼ÇÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. À̰ÍÀº compare(y, x) °¡ ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â °æ¿ì¿¡¸¸ compare(x, y) °¡ ¿¹¿Ü¸¦ ½½·Î¿ì ÇÏ´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù.
¶Ç, ±¸ÇöÀÚ´Â ÀÌ °ü°è¿¡ ÃßÀ̼ºÀ» °®°ÔÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. Áï,((compare(x, y) >0) && (compare(y, z) >0)) ´Â compare(x, z) >0 ¸¦ ÀǹÌÇÕ´Ï´Ù.
¸¶Áö¸·À¸·Î, ±¸ÇöÀÚ´Â compare(x, y)==0 °¡ ¸ðµç z ·Î sgn(compare(x, z)) ==sgn(compare(y, z)) ¸¦ ÀǹÌÇϵµ·Ï(µíÀÌ) ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.
(compare(x, y)==0) == (x.equals(y)) ´Â ¾ö¹ÐÇϰԴ¿䱸µÇÁö ¾Ê½À´Ï´Ù. Åë»óÀº ÀÌ Á¶°Ç¿¡ À§¹ÝÇÏ´Â ÄÞÆÛ·¹ÀÌÅÍ¿¡¼´Â ÀÌ »ç½ÇÀÌ ¸íÈ®ÇÏ°Ô ³ªÅ¸³¯ Çʿ䰡 ÀÖ½À´Ï´Ù. ¡¸ÁÖ: ÀÌ ÄÞÆÛ·¹ÀÌÅÍ´Â equals ¿Í Àϰü¼ºÀÌ ¾ø´Â ¼ø¼ºÎ¸¦ ºÎ°úÇÕ´Ï´Ù.¡¹(¿Í)°ú °°ÀÌ °¡¸®ÄÑ ÁÖ¼¼¿ä.
o1
- ºñ±³ ´ë»óÀÇ ÃÖÃÊÀÇ ¿ÀºêÁ§Æ®o2
- ºñ±³ ´ë»óÀÇ 2 ¹øÂ°ÀÇ ¿ÀºêÁ§Æ®
ClassCastException
- ÀμöÀÇ ÇüŰ¡ ÀÌ ÄÞÆÛ·¹ÀÌÅÍ¿¡ ÀÇÇÑ ºñ±³¸¦ ¹æÇØÇÏ´Â °æ¿ìpublic boolean equals(Object obj)
comp1.equals(comp2)
´Â ¸ðµç ¿ÀºêÁ§Æ® ÂüÁ¶ o1 ¹× o2 ·Î sgn(comp1.compare(o1, o2)) ==sgn(comp2.compare(o1, o2)) ¸¦ ÀǹÌÇÕ´Ï´Ù.
Åë»ó,Object.equals(Object) ´Â º¯°æÇÏÁö ¾Ê´Â ÆíÀÌ ¾ÈÀüÇÕ´Ï´Ù. ´Ù¸¸, ÀÌ ¸Þ¼Òµå¸¦ º¯°æÇØ, 2 krÀÇ °³º°ÀÇ ÄÞÆÛ·¹ÀÌÅͰ¡ °°Àº ¼ø¼ºÎ¸¦ ½Ç½ÃÇÏ´Â °ÍÀ» ÇÁ·Î±×·¥ÀÌ ÆÇ´ÜÇÒ ¼ö ÀÖ°Ô ÇÏ´Â °ÍÀ¸·Î, ÆÛÆ÷¸Õ½º°¡ Çâ»óÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
Object
³»ÀÇ equals
obj
- ºñ±³ ´ë»óÀÇ ÂüÁ¶ ¿ÀºêÁ§Æ®
true
Object.equals(java.lang.Object)
,
Object.hashCode()
|
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.