new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2 - o1;
}
}
new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
Integer i = o1.getAge().compareTo(o2.getAge());
if (i == 0) {
i = o1.getScore().compareTo(o2.getScore());
if (i == 0) {
i = o1.getName().compareTo(o2.getName());
}
}
return i;
}
}
(o1, o2) -> {
Integer i = o1.getAge().compareTo(o2.getAge());
if (i == 0) {
i = o1.getScore().compareTo(o2.getScore());
if (i == 0) {
i = o1.getName().compareTo(o2.getName());
}
}
return i;
}
(a, b) -> a.compareTo(b) 升序
(a, b) -> b.compareTo(a) 降序
(a, b) -> a.getName().compareTo(b.getName())
(a, b) -> a - b
Integer::compareTo 默认升序
Comparator.naturalOrder() 升序
Comparator.reverseOrder() 降序
Comparator.comparing(e -> e.getName())
Comparator.comparing(Student::getName)
Comparator.comparingInt(Student::getAge)