Java 中使用函数式接口对 List 集合排序可以使用 Collections.sort 方法。该方法需要传入一个 List 集合和一个 Comparator 函数式接口,用于比较集合中的元素。Comparator 接口中有一个 compare 方法,用于比较两个对象的大小关系,返回一个整数值表示大小关系。

比如,如果要对一个 List 集合进行升序排序,可以这样写:

List<Integer> list = Arrays.asList(3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5);
Collections.sort(list, (a, b) -> a - b);

这里使用了 Lambda 表达式来实现 Comparator 接口,简化了代码。Lambda 表达式的格式是:(参数列表) -> 表达式,其中参数列表可以省略参数类型,表达式可以是一个值、一个语句块或者一个方法调用。

如果要对一个 List 集合进行降序排序,可以这样写:

List<String> list = Arrays.asList('apple', 'banana', 'orange', 'pear');
Collections.sort(list, (a, b) -> b.compareTo(a));

这里使用了 String 类中的 compareTo 方法来比较两个字符串的大小关系,返回一个整数值表示大小关系。如果 a 比 b 小,就返回一个负数;如果 a 和 b 相等,就返回 0;如果 a 比 b 大,就返回一个正数。我们可以直接使用 b.compareTo(a) 来实现降序排序。

Java 函数式接口排序 List 集合 - 使用 Collections.sort

原文地址: https://www.cveoy.top/t/topic/oU9w 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录