Log*_*Wlv 10 java sorting comparator java-8
我用a Comparator来排序Student对象列表.
我想反转id属性的排序,但using reverse()方法将它应用于整个排序.
怎么让它发生在id?
到目前为止,这是我的代码:
public List<Student> getStudents(List<String> events) {
Comparator<Student> comparatorStudents = Comparator.comparing(Student::getCGPA).thenComparing(Student::getName)
.thenComparingInt(Student::getID).reverse();
List<Student> students = new ArrayList<Student>();
//Filling students
Collections.sort(students, comparatorStudents);
return students;
}
Run Code Online (Sandbox Code Playgroud)
将最后一位更改为:
.thenComparing(Student::getID, Comparator.reverseOrder())
Run Code Online (Sandbox Code Playgroud)
或者,如果您想避免自动装箱:
.thenComparing(Comparator.comparingInt(Student::getID).reversed())
Run Code Online (Sandbox Code Playgroud)
reversed()将内部调用thenComparing:
public List<Student> getStudents(List<String> events) {
Comparator<Student> comparatorStudents = Comparator.comparing(Student::getCGPA)
.thenComparing(Student::getName)
.thenComparing(Comparator.comparingInt(Student::getID).reversed());
List<Student> students = new ArrayList<Student>();
//Filling students
Collections.sort(students, comparatorStudents);
return students;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1267 次 |
| 最近记录: |