首页  >  文章  >  Java  >  如何对 Java 集合进行排序:比较器、可比较和 Lambda 表达式?

如何对 Java 集合进行排序:比较器、可比较和 Lambda 表达式?

Susan Sarandon
Susan Sarandon原创
2024-11-07 22:49:02682浏览

How to Sort Java Collections: Comparator, Comparable, and Lambda Expressions?

对 Java 集合进行排序

要对 Java 集合进行排序,可以考虑多种方法,具体取决于具体要求。一种常见的选择是使用比较器。

使用比较器:

创建一个实现 Comparator 接口的 Comparator 类。在compare()方法中,您可以定义比较对象的逻辑。例如,要按 id 字段对 CustomObject 进行排序:

Comparator<CustomObject> comparator = new Comparator<CustomObject>() {
    @Override
    public int compare(CustomObject left, CustomObject right) {
        return left.getId() - right.getId();
    }
};

然后,使用比较器使用 Collections.sort() 对集合进行排序:

Collections.sort(list, comparator);

或者,如果您的CustomObject 实现了 Comparable,可以直接使用 Collections.sort(list)。

使用 JDK 8 Lambda 表达式:

JDK 8 中引入,lambda 表达式提供了一种便捷的方式编写比较器:

Collections.sort(list, (left, right) -> left.getId() - right.getId());

JDK 8 的简写符号:

对于简单场景,可以使用以下简写符号按特定字段排序:

list.sort(Comparator.comparing(CustomObject::getId));

最终,对 Java 集合进行排序的最佳方法取决于具体需求和所使用的 Java 版本。

以上是如何对 Java 集合进行排序:比较器、可比较和 Lambda 表达式?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn