扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

java涓璫ompare鏂规硶鎬庝箞浣跨敤

扬州沐宇科技
2023-10-28 03:49:17
Java

鍦↗ava涓紝compare鏂规硶鏄敤鏉ユ瘮杈冧袱涓璞$殑澶у皬鎴栭『搴忕殑鏂规硶銆傚畠閫氬父鐢ㄤ簬姣旇緝鏁板瓧銆佸瓧绗︿覆鎴栧叾浠栧彲姣旇緝鐨勫璞°€?/p>

compare鏂规硶閫氬父鐢ㄤ簬瀹炵幇Comparable鎺ュ彛鎴?code>Comparator鎺ュ彛锛岃繖涓や釜鎺ュ彛閮芥湁涓€涓?code>compare鏂规硶銆?/p>

  1. 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
    
  2. 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>

扫码添加客服微信