功能: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]