T - ãã®ã³ã³ãã¬ãŒã¿ã«ããæ¯èŒããããªããžã§ã¯ãã®å@FunctionalInterface public interface Comparator<T>
Collections.sortãArrays.sortãªã©)ã«æž¡ããšããœãŒãé ãæ£ç¢ºã«å¶åŸ¡ã§ããŸãã ãŸããã³ã³ãã¬ãŒã¿ã䜿çšãããšãsorted sets (ãœãŒãã»ã»ãã)ãsorted maps (ãœãŒãã»ããã)ãªã©ã®ç¹å®ã®ããŒã¿æ§é ã®é åºãå¶åŸ¡ããããnatural ordering (èªç¶é åºä»ã)ãæããªããªããžã§ã¯ãã®ã³ã¬ã¯ã·ã§ã³ã«é åºä»ããæäŸãããããããšãã§ããŸãã ã³ã³ãã¬ãŒã¿cãèŠçŽ ã®ã»ããSã§è¡ãé åºä»ãã¯ãSã®ãã¹ãŠã®e1ããã³e2ã«ã€ããŠc.compare(e1, e2)==0ãe1.equals(e2)ãšåãbooleanå€ãæã€å Žåã«ã ãequalsãšã®äžè²«æ§ãããããšã«ãªããŸãã
ãœãŒãã»ã»ãã(ãŸãã¯ãœãŒãã»ããã)ãé åºä»ãããããã«ãequalsãšäžè²«æ§ã®ãªãé åºä»ããè¡ãããšãã§ããã³ã³ãã¬ãŒã¿ã䜿ãå Žåã«ã¯æ³šæãå¿ èŠã§ãã æç€ºçãªã³ã³ãã¬ãŒã¿cãæã€ãœãŒãã»ã»ãã(ãŸãã¯ãœãŒãã»ããã)ãã»ããSããã®èŠçŽ (ãŸãã¯ããŒ)ãšäžç·ã«äœ¿ããããšä»®å®ããŸãã cã«ãã£ãŠSã«èª²ãããé åºä»ããequalsãšäžè²«æ§ããªãå ŽåããœãŒãã»ã»ãã(ãŸãã¯ãœãŒãã»ããã)ã®åäœã¯ç°åžžã«ãªããŸãã ç¹ã«ããœãŒãã»ã»ãã(ãŸãã¯ãœãŒãã»ããã)ã¯ãequalsã§å®çŸ©ãããŠããã»ãã(ãŸãã¯ããã)ã®äžè¬èŠçŽã«éåããŸãã
ããšãã°ã(a.equals(b)&& c.compare(a, b)!= 0)ã§ãã2ã€ã®èŠçŽ aããã³bãã³ã³ãã¬ãŒã¿cã§ç©ºã®TreeSetã«è¿œå ãããšä»®å®ããŸãã aãšbã¯ããªãŒã»ã»ããã®ç¹ããèŠãŠç䟡ã§ã¯ãªãããã2çªç®ã®addãªãã¬ãŒã·ã§ã³ã¯ãSet.addã¡ãœããã®ä»æ§ãšã¯ç°ãªãå Žåã§ããtrueãè¿ããããªãŒã»ã»ããã®ãµã€ãºã¯å€§ãããªããŸãã
ããŒã:éåžžã¯ãã³ã³ãã¬ãŒã¿ã§java.io.Serializableãå®è£
ããŠãã ããããã®çç±ã¯ãã³ã³ãã¬ãŒã¿ãçŽååå¯èœããŒã¿æ§é (TreeSetãTreeMapãªã©)ã®äžã§é åºä»ãã¡ãœãããšããŠäœ¿çšã§ããããã§ãã ããŒã¿æ§é ã®çŽååãæåãããããã«ã¯ãã³ã³ãã¬ãŒã¿(æäŸãããå Žå)ã¯Serializableãå®è£
ããå¿
èŠããããŸãã
æ°åŠçã«ã¯ãæå®ãããã³ã³ãã¬ãŒã¿cãæå®ããããªããžã§ã¯ãã®ã»ããSã«èª²ã匷å¶çãªé åºä»ããå®çŸ©ããé¢ä¿ã¯æ¬¡ã®ããã«ãªããŸãã
{(x, y) such that c.compare(x, y) <= 0}.
ãã®å
šäœé åºã®åã¯æ¬¡ã®ãšããã§ãã
{(x, y) such that c.compare(x, y) == 0}.
compareã®èŠçŽãããåãSã§ã®ç䟡é¢ä¿ã§ããã匷å¶çãªé åºä»ããSã§ã®å
šäœé åºã§ããã®ã¯æããã§ãã cãSã§è¡ãé åºä»ããequalsãšã®äžè²«æ§ããããšããå Žåãããã¯é åºä»ãã®åããªããžã§ã¯ãã®equals(Object)ã¡ãœããã§å®çŸ©ãããç䟡é¢ä¿ã§ããããšãæå³ããŸãã
{(x, y) such that x.equals(y)}.
Comparableãšã¯ç°ãªããã³ã³ãã¬ãŒã¿ã¯ç䟡é¢ä¿ã®èŠä»¶ãä¿ã¡ã€ã€ãnullåŒæ°ã®æ¯èŒããªãã·ã§ã³ã§èš±å¯ã§ããŸãã
ãã®ã€ã³ã¿ãã§ãŒã¹ã¯ãJava Collections Frameworkã®ã¡ã³ããŒã§ãã
Comparable, Serializable| 修食åãšå | ã¡ãœãã | 説æ |
|---|---|---|
int |
compare(T o1, T o2) |
é åºä»ãã®ããã«2ã€ã®åŒæ°ãæ¯èŒããŸãã
|
static <T,U extends Comparable<? super U>> |
comparing(Function<? super T,? extends U> keyExtractor) |
å
TããComparableãœãŒãã»ããŒãæœåºãã颿°ãåãåãããã®ãœãŒãã»ããŒã§æ¯èŒããComparator<T>ãè¿ããŸãã |
static <T,U> Comparator<T> |
comparing(Function<? super T,? extends U> keyExtractor, Comparator<? super U> keyComparator) |
å
TãããœãŒãã»ããŒãæœåºãã颿°ãåãåããæå®ãããComparatorã䜿ã£ãŠãã®ãœãŒãã»ããŒã§æ¯èŒããComparator<T>ãè¿ããŸãã |
static <T> Comparator<T> |
comparingDouble(ToDoubleFunction<? super T> keyExtractor) |
å
TããdoubleãœãŒãã»ããŒãæœåºãã颿°ãåãåãããã®ãœãŒãã»ããŒã§æ¯èŒããComparator<T>ãè¿ããŸãã |
static <T> Comparator<T> |
comparingInt(ToIntFunction<? super T> keyExtractor) |
å
TããintãœãŒãã»ããŒãæœåºãã颿°ãåãåãããã®ãœãŒãã»ããŒã§æ¯èŒããComparator<T>ãè¿ããŸãã |
static <T> Comparator<T> |
comparingLong(ToLongFunction<? super T> keyExtractor) |
å
TããlongãœãŒãã»ããŒãæœåºãã颿°ãåãåãããã®ãœãŒãã»ããŒã§æ¯èŒããComparator<T>ãè¿ããŸãã |
boolean |
equals(Object obj) |
ã»ãã®ãªããžã§ã¯ãããã®ã³ã³ãã¬ãŒã¿ãšãçããããã©ããã瀺ããŸãã
|
static <T extends Comparable<? super T>> |
naturalOrder() |
èªç¶ãªé åºã§
Comparableãªããžã§ã¯ããæ¯èŒããã³ã³ãã¬ãŒã¿ãè¿ããŸãã |
static <T> Comparator<T> |
nullsFirst(Comparator<? super T> comparator) |
nullãnull以å€ããå°ãããšã¿ãªããnullãã¬ã³ããªã®ã³ã³ãã¬ãŒã¿ãè¿ããŸãã |
static <T> Comparator<T> |
nullsLast(Comparator<? super T> comparator) |
nullãnull以å€ãã倧ãããšã¿ãªããnullãã¬ã³ããªã®ã³ã³ãã¬ãŒã¿ãè¿ããŸãã |
default Comparator<T> |
reversed() |
ãã®ã³ã³ãã¬ãŒã¿ã®éé ã矩åä»ããã³ã³ãã¬ãŒã¿ãè¿ããŸãã
|
static <T extends Comparable<? super T>> |
reverseOrder() |
èªç¶é åºä»ãã®éã矩åä»ããã³ã³ãã¬ãŒã¿ãè¿ããŸãã
|
default Comparator<T> |
thenComparing(Comparator<? super T> other) |
èŸæžåŒé åºã³ã³ãã¬ãŒã¿ãããäžæ¹ã®ã³ã³ãã¬ãŒã¿ãšãšãã«è¿ããŸãã
|
default <U extends Comparable<? super U>> |
thenComparing(Function<? super T,? extends U> keyExtractor) |
ComparableãœãŒãã»ããŒãæœåºãã颿°ãå«ãèŸæžåŒé åºã³ã³ãã¬ãŒã¿ãè¿ããŸãã |
default <U> Comparator<T> |
thenComparing(Function<? super T,? extends U> keyExtractor, Comparator<? super U> keyComparator) |
æå®ããã
Comparatorã§æ¯èŒãããããŒãæœåºãã颿°ãå«ãèŸæžåŒé åºã³ã³ãã¬ãŒã¿ãè¿ããŸãã |
default Comparator<T> |
thenComparingDouble(ToDoubleFunction<? super T> keyExtractor) |
doubleãœãŒãã»ããŒãæœåºãã颿°ãå«ãèŸæžåŒé åºã³ã³ãã¬ãŒã¿ãè¿ããŸãã |
default Comparator<T> |
thenComparingInt(ToIntFunction<? super T> keyExtractor) |
intãœãŒãã»ããŒãæœåºãã颿°ãå«ãèŸæžåŒé åºã³ã³ãã¬ãŒã¿ãè¿ããŸãã |
default Comparator<T> |
thenComparingLong(ToLongFunction<? super T> keyExtractor) |
longãœãŒãã»ããŒãæœåºãã颿°ãå«ãèŸæžåŒé åºã³ã³ãã¬ãŒã¿ãè¿ããŸãã |
int compare(T o1, T o2)
åè¿°ã®èª¬æã§ã¯ãsgn(expression)ãšãã衚èšã¯æ°åŠé¢æ°signumã瀺ããexpressionã®å€(è² ã®æ°ããŒããæ£ã®æ°)ã«å¿ããŠã-1ã0ã1ã®ã©ãããè¿ããŸãã
å®è£ ã§ã¯ããã¹ãŠã®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çªç®ã®ãªããžã§ã¯ããNullPointerException - åŒæ°ãnullã§ããã®ã³ã³ãã¬ãŒã¿ãnullåŒæ°ãèš±å¯ããªãå ŽåClassCastException - åŒæ°ã®åããã®ã³ã³ãã¬ãŒã¿ã«ããæ¯èŒã劚ããå Žåãboolean equals(Object obj)
Object.equals(Object)ã®äžè¬èŠçŽã«åŸãå¿
èŠããããŸãã ãŸããã®ã¡ãœããã¯ãæå®ããããªããžã§ã¯ããã³ã³ãã¬ãŒã¿ã§ãããããããã®ã³ã³ãã¬ãŒã¿ãšåãé åºä»ããè¡ãå Žåã«ã ã trueãè¿ãããšãã§ããŸãã ãããã£ãŠãcomp1.equals(comp2)ã¯ãã¹ãŠã®ãªããžã§ã¯ãåç
§o1ããã³o2ã§sgn(comp1.compare(o1, o2))==sgn(comp2.compare(o1, o2))ãæå³ããŸãã éåžžãObject.equals(Object)ã¯ãªãŒããŒã©ã€ãããªãã»ããå®å šã§ãã ãã ãããã®ã¡ãœããã倿Žãã2ã€ã®åå¥ã®ã³ã³ãã¬ãŒã¿ãåãé åºä»ããè¡ãããšãããã°ã©ã ã倿ã§ããããã«ããããšã§ãããã©ãŒãã³ã¹ãåäžããå ŽåããããŸãã
equalsãã¯ã©ã¹Objectobj - æ¯èŒå¯Ÿè±¡ã®åç
§ãªããžã§ã¯ããtrueãObject.equals(Object), Object.hashCode()default Comparator<T> reversed()
default Comparator<T> thenComparing(Comparator<? super T> other)
Comparatorã§2ã€ã®èŠçŽ ãçãã(ã€ãŸããcompare(a, b) == 0)ãšèŠãªãããå Žåã¯ãotherã䜿ã£ãŠãã®é åºã決ããããŸãã
æå®ãããã³ã³ãã¬ãŒã¿ãçŽååå¯èœã®å Žåãè¿ãããã³ã³ãã¬ãŒã¿ãçŽååå¯èœã«ãªããŸãã
Stringã®ã³ã¬ã¯ã·ã§ã³ããŸãé·ãã«åºã¥ããŠãœãŒãããæ¬¡ã«å€§æåãšå°æåãåºå¥ããªãèªç¶é åºä»ãã«åºã¥ããŠãœãŒãããã«ã¯ã次ã®ã³ãŒãã䜿çšããŠã³ã³ãã¬ãŒã¿ãæ§æã§ããŸãã
Comparator<String> cmp = Comparator.comparingInt(String::length)
.thenComparing(String.CASE_INSENSITIVE_ORDER);
other - ãã®ã³ã³ãã¬ãŒã¿ãçãã2ã€ã®ãªããžã§ã¯ããæ¯èŒãããšãã«äœ¿çšãããããäžæ¹ã®ã³ã³ãã¬ãŒã¿ãNullPointerException - åŒæ°ãnullã§ããå Žåãdefault <U> Comparator<T> thenComparing(Function<? super T,? extends U> keyExtractor, Comparator<? super U> keyComparator)
Comparatorã§æ¯èŒãããããŒãæœåºãã颿°ãå«ãèŸæžåŒé åºã³ã³ãã¬ãŒã¿ãè¿ããŸããthenComparing(comparing(keyExtractor, cmp))ã§ãããã®ããã«åäœããŸããU - ãœãŒãã»ããŒã®åkeyExtractor - ãœãŒãã»ããŒã®æœåºã«äœ¿çšããã颿°keyComparator - ãœãŒãã»ããŒã®æ¯èŒã«äœ¿çšãããComparatorNullPointerException - ã©ã¡ããã®åŒæ°ãnullã§ããå Žåãcomparing(Function, Comparator), thenComparing(Comparator)default <U extends Comparable<? super U>> Comparator<T> thenComparing(Function<? super T,? extends U> keyExtractor)
ComparableãœãŒãã»ããŒãæœåºãã颿°ãå«ãèŸæžåŒé åºã³ã³ãã¬ãŒã¿ãè¿ããŸããthenComparing(comparing(keyExtractor))ã§ãããã®ããã«åäœããŸããU - ComparableãœãŒãã»ããŒã®åkeyExtractor - ComparableãœãŒãã»ããŒã®æœåºã«äœ¿çšããã颿°ComparableãœãŒãã»ããŒã§æ§æãããèŸæžåŒé åºã³ã³ãã¬ãŒã¿ãNullPointerException - åŒæ°ãnullã§ããå Žåãcomparing(Function), thenComparing(Comparator)default Comparator<T> thenComparingInt(ToIntFunction<? super T> keyExtractor)
intãœãŒãã»ããŒãæœåºãã颿°ãå«ãèŸæžåŒé åºã³ã³ãã¬ãŒã¿ãè¿ããŸããthenComparing(comparingInt(keyExtractor))ã§ãããã®ããã«åäœããŸããkeyExtractor - æŽæ°ã®ãœãŒãã»ããŒã®æœåºã«äœ¿çšããã颿°intãœãŒãã»ããŒã§æ§æãããèŸæžåŒé åºã³ã³ãã¬ãŒã¿NullPointerException - åŒæ°ãnullã§ããå ŽåãcomparingInt(ToIntFunction), thenComparing(Comparator)default Comparator<T> thenComparingLong(ToLongFunction<? super T> keyExtractor)
longãœãŒãã»ããŒãæœåºãã颿°ãå«ãèŸæžåŒé åºã³ã³ãã¬ãŒã¿ãè¿ããŸããthenComparing(comparingLong(keyExtractor))ã§ãããã®ããã«åäœããŸããkeyExtractor - longã®ãœãŒãã»ããŒã®æœåºã«äœ¿çšããã颿°longãœãŒãã»ããŒã§æ§æãããèŸæžåŒé åºã³ã³ãã¬ãŒã¿NullPointerException - åŒæ°ãnullã§ããå ŽåãcomparingLong(ToLongFunction), thenComparing(Comparator)default Comparator<T> thenComparingDouble(ToDoubleFunction<? super T> keyExtractor)
doubleãœãŒãã»ããŒãæœåºãã颿°ãå«ãèŸæžåŒé åºã³ã³ãã¬ãŒã¿ãè¿ããŸããthenComparing(comparingDouble(keyExtractor))ã§ãããã®ããã«åäœããŸããkeyExtractor - doubleã®ãœãŒãã»ããŒã®æœåºã«äœ¿çšããã颿°doubleãœãŒãã»ããŒã§æ§æãããèŸæžåŒé åºã³ã³ãã¬ãŒã¿NullPointerException - åŒæ°ãnullã§ããå ŽåãcomparingDouble(ToDoubleFunction), thenComparing(Comparator)static <T extends Comparable<? super T>> Comparator<T> reverseOrder()
è¿ãããã³ã³ãã¬ãŒã¿ã¯çŽååå¯èœã§ãããnullãæ¯èŒããå Žåã«NullPointerExceptionãã¹ããŒããŸãã
T - æ¯èŒå¯Ÿè±¡ã®èŠçŽ ã®ComparableåComparableãªããžã§ã¯ãã«èªç¶é åºä»ãã®éã矩åä»ããã³ã³ãã¬ãŒã¿ãComparablestatic <T extends Comparable<? super T>> Comparator<T> naturalOrder()
Comparableãªããžã§ã¯ããæ¯èŒããã³ã³ãã¬ãŒã¿ãè¿ããŸãã
è¿ãããã³ã³ãã¬ãŒã¿ã¯çŽååå¯èœã§ãããnullãæ¯èŒããå Žåã«NullPointerExceptionãã¹ããŒããŸãã
T - æ¯èŒå¯Ÿè±¡ã®èŠçŽ ã®ComparableåComparableãªããžã§ã¯ãã«èªç¶é åºä»ãã矩åä»ããã³ã³ãã¬ãŒã¿ãComparablestatic <T> Comparator<T> nullsFirst(Comparator<? super T> comparator)
nullãnull以å€ããå°ãããšã¿ãªããnullãã¬ã³ããªã®ã³ã³ãã¬ãŒã¿ãè¿ããŸãã äž¡æ¹ãšãnullã§ããå Žåããããã¯çãããšèŠãªãããŸãã äž¡æ¹ãšãnull以å€ã§ããå Žåãæå®ãããComparatorã䜿ã£ãŠãã®é åºã決ããããŸãã æå®ãããã³ã³ãã¬ãŒã¿ãnullã§ããå Žåãè¿ãããã³ã³ãã¬ãŒã¿ã¯null以å€ã®ãã¹ãŠã®å€ãçãããšèŠãªããŸãã
æå®ãããã³ã³ãã¬ãŒã¿ãçŽååå¯èœã®å Žåãè¿ãããã³ã³ãã¬ãŒã¿ãçŽååå¯èœã«ãªããŸãã
T - æ¯èŒå¯Ÿè±¡ã®èŠçŽ ã®åcomparator - null以å€ã®å€ãæ¯èŒããããã®Comparatornullãnull以å€ãããå°ãããšèŠãªããæå®ãããComparatorã䜿ã£ãŠnull以å€ã®ãªããžã§ã¯ããæ¯èŒããŸããstatic <T> Comparator<T> nullsLast(Comparator<? super T> comparator)
nullãnull以å€ãã倧ãããšã¿ãªããnullãã¬ã³ããªã®ã³ã³ãã¬ãŒã¿ãè¿ããŸãã äž¡æ¹ãšãnullã§ããå Žåããããã¯çãããšèŠãªãããŸãã äž¡æ¹ãšãnull以å€ã§ããå Žåãæå®ãããComparatorã䜿ã£ãŠãã®é åºã決ããããŸãã æå®ãããã³ã³ãã¬ãŒã¿ãnullã§ããå Žåãè¿ãããã³ã³ãã¬ãŒã¿ã¯null以å€ã®ãã¹ãŠã®å€ãçãããšèŠãªããŸãã
æå®ãããã³ã³ãã¬ãŒã¿ãçŽååå¯èœã®å Žåãè¿ãããã³ã³ãã¬ãŒã¿ãçŽååå¯èœã«ãªããŸãã
T - æ¯èŒå¯Ÿè±¡ã®èŠçŽ ã®åcomparator - null以å€ã®å€ãæ¯èŒããããã®Comparatornullãnull以å€ããã倧ãããšèŠãªããæå®ãããComparatorã䜿ã£ãŠnull以å€ã®ãªããžã§ã¯ããæ¯èŒããŸããstatic <T,U> Comparator<T> comparing(Function<? super T,? extends U> keyExtractor, Comparator<? super U> keyComparator)
TãããœãŒãã»ããŒãæœåºãã颿°ãåãåããæå®ãããComparatorã䜿ã£ãŠãã®ãœãŒãã»ããŒã§æ¯èŒããComparator<T>ãè¿ããŸãã
æå®ããã颿°ãšã³ã³ãã¬ãŒã¿ã®äž¡æ¹ãçŽååå¯èœã®å Žåãè¿ãããã³ã³ãã¬ãŒã¿ãçŽååå¯èœã«ãªããŸãã
Personãªããžã§ã¯ãããã®å§(倧æåå°æåã®åºå¥ãç¡èŠããŠ)ã§æ¯èŒããComparatorãååŸããã«ã¯ã
Comparator<Person> cmp = Comparator.comparing(
Person::getLastName,
String.CASE_INSENSITIVE_ORDER);
T - æ¯èŒå¯Ÿè±¡ã®èŠçŽ ã®åU - ãœãŒãã»ããŒã®åkeyExtractor - ãœãŒãã»ããŒã®æœåºã«äœ¿çšããã颿°keyComparator - ãœãŒãã»ããŒã®æ¯èŒã«äœ¿çšãããComparatorComparatorã䜿çšããŠãæœåºãããããŒã§æ¯èŒãè¡ãã³ã³ãã¬ãŒã¿NullPointerException - ã©ã¡ããã®åŒæ°ãnullã®å Žåstatic <T,U extends Comparable<? super U>> Comparator<T> comparing(Function<? super T,? extends U> keyExtractor)
TããComparableãœãŒãã»ããŒãæœåºãã颿°ãåãåãããã®ãœãŒãã»ããŒã§æ¯èŒããComparator<T>ãè¿ããŸãã
æå®ããã颿°ãçŽååå¯èœã®å Žåãè¿ãããã³ã³ãã¬ãŒã¿ãçŽååå¯èœã«ãªããŸãã
Personãªããžã§ã¯ãããã®å§ã§æ¯èŒããComparatorãååŸããã«ã¯ã
Comparator<Person> byLastName = Comparator.comparing(Person::getLastName);
T - æ¯èŒå¯Ÿè±¡ã®èŠçŽ ã®åU - ComparableãœãŒãã»ããŒã®åkeyExtractor - ComparableãœãŒãã»ããŒã®æœåºã«äœ¿çšããã颿°NullPointerException - åŒæ°ãnullã®å Žåstatic <T> Comparator<T> comparingInt(ToIntFunction<? super T> keyExtractor)
TããintãœãŒãã»ããŒãæœåºãã颿°ãåãåãããã®ãœãŒãã»ããŒã§æ¯èŒããComparator<T>ãè¿ããŸãã
æå®ããã颿°ãçŽååå¯èœã®å Žåãè¿ãããã³ã³ãã¬ãŒã¿ãçŽååå¯èœã«ãªããŸãã
T - æ¯èŒå¯Ÿè±¡ã®èŠçŽ ã®åkeyExtractor - æŽæ°ã®ãœãŒãã»ããŒã®æœåºã«äœ¿çšããã颿°NullPointerException - åŒæ°ãnullã®å Žåcomparing(Function)static <T> Comparator<T> comparingLong(ToLongFunction<? super T> keyExtractor)
TããlongãœãŒãã»ããŒãæœåºãã颿°ãåãåãããã®ãœãŒãã»ããŒã§æ¯èŒããComparator<T>ãè¿ããŸãã
æå®ããã颿°ãçŽååå¯èœã®å Žåãè¿ãããã³ã³ãã¬ãŒã¿ãçŽååå¯èœã«ãªããŸãã
T - æ¯èŒå¯Ÿè±¡ã®èŠçŽ ã®åkeyExtractor - longã®ãœãŒãã»ããŒã®æœåºã«äœ¿çšããã颿°NullPointerException - åŒæ°ãnullã®å Žåcomparing(Function)static <T> Comparator<T> comparingDouble(ToDoubleFunction<? super T> keyExtractor)
TããdoubleãœãŒãã»ããŒãæœåºãã颿°ãåãåãããã®ãœãŒãã»ããŒã§æ¯èŒããComparator<T>ãè¿ããŸãã
æå®ããã颿°ãçŽååå¯èœã®å Žåãè¿ãããã³ã³ãã¬ãŒã¿ãçŽååå¯èœã«ãªããŸãã
T - æ¯èŒå¯Ÿè±¡ã®èŠçŽ ã®åkeyExtractor - doubleã®ãœãŒãã»ããŒã®æœåºã«äœ¿çšããã颿°NullPointerException - åŒæ°ãnullã®å Žåcomparing(Function) ãã°ãŸãã¯æ©èœãéä¿¡
詳现ãªAPIãªãã¡ã¬ã³ã¹ããã³éçºè
ããã¥ã¡ã³ãã«ã€ããŠã¯ãJava SEã®ããã¥ã¡ã³ããåç
§ããŠãã ããã ãã®ããã¥ã¡ã³ãã«ã¯ãæŠå¿µçãªæŠèŠãçšèªã®å®çŸ©ãåé¿æ¹æ³ãæå¹ãªã³ãŒãäŸãªã©ã®ãéçºè
ã察象ã«ãããã詳现ãªèª¬æãå«ãŸããŠããŸãã
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyãåç
§ããŠãã ããã