zoukankan      html  css  js  c++  java
  • 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]
  • 相关阅读:
    哇塞 今天是数论专场呢 我要爆炸了
    树状数组模板题 hdu 1166
    [思维]Radar Scanner
    [思维]Minimum Spanning Tree
    [容斥]数对
    [概率]Lucky Coins
    [数学]特征方程求线性递推方程的通项公式
    [树状数组][2019徐州网络赛I]query
    [计算几何]Piece of Cake
    [欧拉降幂][2019南京网络赛B]super_log
  • 原文地址:https://www.cnblogs.com/modou/p/11630956.html
Copyright © 2011-2022 走看看