Java lambda 实现排序

创建列表,使用 Lambda 表达式进行排序:java List list = Arrays.asList(5, 2, 7, 3, 8, 1, 6, 4);list.sort((a, b) -> a.compareTo(b));System.out.println(list);输出结果为:[1, 2, 3, 4, 5, 6, 7, 8]降序排序:同样使用 Lambda 表达式,改变排序方式为降序:java List...
Java lambda 实现排序
使用 Java Lambda 表达式实现排序,简化代码并提升效率。以下是不同排序方式的示例:

升序排序:

创建列表,使用 Lambda 表达式进行排序:

java
List list = Arrays.asList(5, 2, 7, 3, 8, 1, 6, 4);
list.sort((a, b) -> a.compareTo(b));
System.out.println(list);

输出结果为:[1, 2, 3, 4, 5, 6, 7, 8]

降序排序:

同样使用 Lambda 表达式,改变排序方式为降序:

java
List list = Arrays.asList(5, 2, 7, 3, 8, 1, 6, 4);
list.sort((a, b) -> b.compareTo(a));
System.out.println(list);

输出结果为:[8, 7, 6, 5, 4, 3, 2, 1]

静态方法引用排序:

利用静态方法引用简化排序:

java
List list = Arrays.asList("apple", "banana", "orange", "grape", "kiwi");
list.sort(String::compareTo);
System.out.println(list);

输出结果为:[apple, banana, grape, kiwi, orange]

自定义比较器排序:

通过自定义比较器实现复杂排序,如年龄排序:

java
List list = Arrays.asList(
new Person("Bob", 28),
new Person("Alice", 23),
new Person("Charlie", 32),
new Person("David", 22)
);
list.sort((a, b) -> a.getAge() - b.getAge());
System.out.println(list);

输出结果为:[Person{name='David', age=22}, Person{name='Alice', age=23}, Person{name='Bob', age=28}, Person{name='Charlie', age=32}]

其中 Person 类包含姓名和年龄属性,自定义比较器按年龄升序排序。2024-11-18
mengvlog 阅读 5 次 更新于 2025-07-19 15:21:47 我来答关注问题0
檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部