使用java的stream流对一个list进行排序,先按照成绩排序,成绩一样时按照年龄排序,举个例子
时间: 2023-06-05 19:07:17 浏览: 263
排序方法(java)
好的,您可以使用以下代码对一个List进行按成绩和年龄排序:
```
List<Student> students = new ArrayList<>();
// 假设已经将学生添加到students中
students.stream()
.sorted(Comparator.comparing(Student::getScore).reversed().thenComparing(Student::getAge))
.collect(Collectors.toList());
```
其中,假设Student类中有getScore和getAge方法,返回学生成绩和年龄。代码中使用了Comparator.comparing方法,按成绩进行排序,如果成绩一样则按年龄排序,且成绩需要按降序排列,因此使用了reversed()方法。最后使用collect(Collectors.toList())方法将排序后的List转为一个新的List并返回。
阅读全文