Java对象数组Comparable接口compareTo方法实现模板

实现Comparable接口意义

进行对象间的比较排序等

(如果要进行id的从小到大的排序则看下面的compareTo方法)

 对象数组初始化

利用花括号表达

package 数组.compareTo;

import java.util.Arrays;

public class Dog {

    public static void main(String[] args) {
        Cat[] cat = {
                new Cat(3, 5, "男"),
                new Cat(1, 11, "女"),
                new Cat(4, 15, "男"),
                new Cat(2, 51, "女")
        };
        System.out.println("无排序前\t"+Arrays.toString(cat));
        Arrays.sort(cat);
        System.out.println("有排序前\t"+Arrays.toString(cat));
    }

}

class Cat implements Comparable {
    private int id;
    private int age;
    private String sex;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    @Override
    public String toString() {
        return "Cat{" +
                "id=" + id +
                ", age=" + age +
                ", sex='" + sex + '\'' +
                '}';
    }

    public Cat() {
    }

    public Cat(int id, int age, String sex) {
        this.id = id;
        this.age = age;
        this.sex = sex;
    }

    @Override
    public int compareTo(Object o) {
        Cat cat = (Cat) o;
        if (cat.id > this.id) {
            return -1;

        }
        if (cat.id < this.id) {
            return 1;

        }
        return 0;
    }
}

compareTo的实现模板

实现该接口的目的是比较该多个对象的按id从小到大的顺序输出

扫描二维码关注公众号,回复: 13618500 查看本文章

猜你喜欢

转载自blog.csdn.net/wqr111/article/details/118223856
今日推荐