Kininaru
Kininaru
Java中利用Comparator为List排序

概述

Java内置库中为List提供了一个极为方便的排序接口,我们只要定义如何排序,就能为每个元素排序。

用法

1. 创建一个Comparator的子类

class cmp implements Comparator {
}

2. 重载Comparator的compare方法

class cmp implements Comparator {

    @Override
    public int compare(Object o1, Object o2) {
    }
}

3. 规定比较的规则

这里以比较 int 类型为例:

class cmp implements Comparator {

    @Override
    public int compare(Object o1, Object o2) {
        int a = (int) o1;
        int b = (int) o2;
        return a - b;
    }
}

注意,不管我们比较的对象是什么,总有以下规则:

  • 返回负数代表 o1 在 o2 前面
  • 返回 0 代表 o1 和 o2 相等
  • 返回正数代表 o1 在 o2 后面

4. 利用Collections.sort进行比较

Collections.sort(list, new cmp());

至此,list 中所有元素已经按照预定的规则比较完了。

发表评论

textsms
account_circle
email

Kininaru

Java中利用Comparator为List排序
概述 Java内置库中为List提供了一个极为方便的排序接口,我们只要定义如何排序,就能为每个元素排序。 用法 1. 创建一个Comparator的子类 class cmp implements Comparator {…
扫描二维码继续阅读
2020-10-30