java涓璫ompare鏂规硶鎬庝箞浣跨敤
鍦↗ava涓紝compare
鏂规硶鏄敤鏉ユ瘮杈冧袱涓璞$殑澶у皬鎴栭『搴忕殑鏂规硶銆傚畠閫氬父鐢ㄤ簬姣旇緝鏁板瓧銆佸瓧绗︿覆鎴栧叾浠栧彲姣旇緝鐨勫璞°€?/p>
compare
鏂规硶閫氬父鐢ㄤ簬瀹炵幇Comparable
鎺ュ彛鎴?code>Comparator鎺ュ彛锛岃繖涓や釜鎺ュ彛閮芥湁涓€涓?code>compare鏂规硶銆?/p>
-
Comparable
鎺ュ彛鐨?code>compare鏂规硶锛?/p>public int compareTo(Object obj)
Comparable
鎺ュ彛鐨?code>compare鏂规硶鐢ㄤ簬姣旇緝褰撳墠瀵硅薄涓庡弬鏁板璞$殑澶у皬銆傚鏋滃綋鍓嶅璞″皬浜庡弬鏁板璞★紝鍒欒繑鍥炶礋鏁存暟锛涘鏋滃綋鍓嶅璞″ぇ浜庡弬鏁板璞★紝鍒欒繑鍥炴鏁存暟锛涘鏋滀袱涓璞$浉绛夛紝鍒欒繑鍥?銆?/p>浣跨敤绀轰緥锛?/p>
public class MyClass implements Comparable<MyClass> { private int value; public MyClass(int value) { this.value = value; } public int compareTo(MyClass obj) { return this.value - obj.value; } } MyClass obj1 = new MyClass(5); MyClass obj2 = new MyClass(10); int result = obj1.compareTo(obj2); // 杩斿洖-5锛屽洜涓簅bj1灏忎簬obj2
-
Comparator
鎺ュ彛鐨?code>compare鏂规硶锛?/p>public int compare(Object obj1, Object obj2)
Comparator
鎺ュ彛鐨?code>compare鏂规硶鐢ㄤ簬姣旇緝涓や釜瀵硅薄鐨勫ぇ灏忋€傚鏋滅涓€涓璞″皬浜庣浜屼釜瀵硅薄锛屽垯杩斿洖璐熸暣鏁帮紱濡傛灉绗竴涓璞″ぇ浜庣浜屼釜瀵硅薄锛屽垯杩斿洖姝f暣鏁帮紱濡傛灉涓や釜瀵硅薄鐩哥瓑锛屽垯杩斿洖0銆?/p>浣跨敤绀轰緥锛?/p>
public class MyComparator implements Comparator<MyClass> { public int compare(MyClass obj1, MyClass obj2) { return obj1.getValue() - obj2.getValue(); } } MyClass obj1 = new MyClass(5); MyClass obj2 = new MyClass(10); MyComparator comparator = new MyComparator(); int result = comparator.compare(obj1, obj2); // 杩斿洖-5锛屽洜涓簅bj1灏忎簬obj2
娉ㄦ剰锛氫互涓婄ず渚嬩腑鐨?code>MyClass绫诲畾涔変簡涓€涓?code>value灞炴€э紝骞朵笖鎻愪緵浜嗙浉搴旂殑璁块棶鏂规硶銆傝繖鏄负浜嗘紨绀烘瘮杈冭繃绋嬶紝瀹為檯浣跨敤涓彲浠ユ牴鎹叿浣撻渶姹傛瘮杈冧笉鍚岀殑灞炴€ф垨瀛楁銆?/p>
相关问答