Approach 1 — thenComparing
employees.stream()
.sorted(Comparator.comparing(Employee::getDept)
.thenComparing(Employee::getName))
.toList();
Approach 2 — Combined Lambda Comparator
employees.stream()
.sorted((a,b) -> {
int r = a.getDept().compareTo(b.getDept());
return r != 0 ? r : a.getName().compareTo(b.getName());
})
.toList();
Explanation:
thenComparingchains multiple comparisons for clarity.- Null handling is possible using
Comparator.nullsFirstornullsLast.
