Comparable接口的使用

功能:java

Comparable接口可用於對象的排序或者對象的分組ide

介紹:this

Comparable接口強行對實現它的類的每一個實例進行天然排序,該接口的惟一方法compareTo方法被稱爲天然比較方法spa

 

方法: int compareTo(Object   o)  code

利用當前對象和傳入的目標對象進行比較:對象

如果當前對象比目標對象大,則返回1,那麼當前對象會排在目標對象的後面blog

如果當前對象比目標對象小,則返回-1,那麼當前對象會排在目標對象的後面排序

如果兩個對象相等,則返回0接口

 

實例:class

import java.util.Arrays;

public class User implements Comparable<User> {
    
    public int age;
    public String username;

    public User(int age, String username) {
        this.age = age;
        this.username = username;
    }

    @Override
    public String toString() {
        return this.username;
    }

    @Override
    public int compareTo(User o) {
        if(this.age>o.age) {
            return 1;
        } else if(this.age<o.age) {
            return -1;
        } else {
            return 0;
        }
    }
    
    public static void main(String[] args) {
        User[] arr = new User[3];
        arr[0] = new User(15,"user1");
        arr[1] = new User(10,"user2");
        arr[2] = new User(20,"user3");
        
        System.out.println("排序前:");
        System.out.println(Arrays.toString(arr));
        
        Arrays.sort(arr);
        
        System.out.println("排序後:");
        System.out.println(Arrays.toString(arr));

    }

}

 

執行結果:

排序前:
[user1, user2, user3]
排序後:
[user2, user1, user3]
相關文章
相關標籤/搜索