Comparable接口的使用

Posted modou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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]

以上是关于Comparable接口的使用的主要内容,如果未能解决你的问题,请参考以下文章

Comparator接口Comparable接口 排序接口的使用方式

Comparable接口

Comparable接口与Comparator接口的比较————Comparable接口详解

Comparable接口的使用

java Comparable 和 Comparator接口区别

Java中的Comparable接口和Comparator接口