java Comparable 接口

    xiaoxiao2026-04-03  5

    Comparable 接口

    所有可以排序的类都实现了java.lang.Comparable 接口,Comparable接口中只有一个方法

    public int compareTo(Object obj);该方法:

    返回 0 表示 this==obj

    返回 正数 表示 this>obj

    返回 负数 表示 this<obj

    8.2  实现了Comparable接口的类通过实现compareTo方法从而确定该类对象的排序方式。

    comparator-比较器-在实体类之外定义-比较灵活,可以根据需求排序

    comparable-定义在实体类上-可以直接使用Collections.sort(list);排序

    8.3  自定义排序-匿名内部类 <br>

    语法:new 类名/接口名(){//方法体 自定义方法 重写方法 }  集定义与实例化一体

    集合-排序

    Collections.sort(List list);--默认从小到大排序

    项目1 用Comparator实现比较。如图将1-10之间的数字从小到大进行排序;

    public class ArrayList1 {

    public static void main(String[] args) {

    ArrayList<Integer> arrayList = new ArrayList<Integer>();

    // 初始化;

    for (int i = 1; i <=10; i++) {

    arrayList.add(i);

    }

    //创建一个比较器;

    Comparator<Integer> c=new Comparator<Integer>() {

    @Override

    public int compare(Integer o1, Integer o2) {

    if(o1>o2){

    return 1;

    }

    if(o1<o2){

    return -1;

    }

    return 0;

    }

    };

    //将对象和比较器添加到集合中去。

    Collections.sort(arrayList, c);

    for (Integer integer : arrayList) {

    System.out.print(integer+" ");

    }

    }

    }

    运行如下:

    将1-10之间的数字从大到小进行排序;

    public class ArrayList1 {

    public static void main(String[] args) {

    ArrayList<Integer> arrayList = new ArrayList<Integer>();

    // 初始化;

    for (int i = 1; i <=10; i++) {

    arrayList.add(i);

    }

    //创建一个比较器;

    Comparator<Integer> c=new Comparator<Integer>() {

    @Override

    public int compare(Integer o1, Integer o2) {

    if(o1>o2){

    return -1;

    }

    if(o1<o2){

    return 1;

    }

    return 0;

    }

    };

    //将对象和比较器添加到集合中去。

    Collections.sort(arrayList, c);

    for (Integer integer : arrayList) {

    System.out.print(integer+" ");

    }

    }

    }

    转载请注明原文地址: https://ju.6miu.com/read-1308446.html
    最新回复(0)