我的学生类(class)有一些属性,例如:
public class Student {
private String firstName;
private String middleName;
private String lastName;
.....
}
我还有一个学生列表,我必须根据某些属性的优先级对其进行排序。例如,第一优先级是 firstName
,第二优先级是 lastName
,最后是 middleName
。我在一次采访中被问到这个问题。使用可比较,我已经为单个属性完成了它,但是我们如何根据不同的优先级进行排序?
最佳答案
在 Java 8 中,使用 thenComparing
轻松进行链式比较。
Collections.sort(students, Comparator.comparing(s -> s.firstName)
.thenComparing(s -> s.lastName)
.thenComparing(s -> s.middleName));
关于java - 根据对象属性优先级对对象列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42870596/