Comparable接口的使用
功能:
Comparable接口可用于对象的排序或者对象的分组
介绍:
Comparable接口强行对实现它的类的每个实例进行自然排序,该接口的唯一方法compareTo方法被称为自然比较方法
方法: int compareTo(Object o)
利用当前对象和传入的目标对象进行比较:
若是当前对象比目标对象大,则返回1,那么当前对象会排在目标对象的后面
若是当前对象比目标对象小,则返回-1,那么当前对象会排在目标对象的后面
若是两个对象相等,则返回0
实例:
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]