정렬 기준이 하나가 아니라 여러 개일 때 사용한다.
문자열 정렬은 compareTo()를 쓴다.
Arrays.sort(words, (a, b) -> {
if (a.length() != b.length()) {
return Integer.compare(a.length(), b.length());
}
return a.compareTo(b);
});
HashMap과 같이 쓰면 빈도 정렬도 가능하다.
List<String> keys = new ArrayList<>(map.keySet());
keys.sort((a, b) -> {
int ca = map.get(a);
int cb = map.get(b);
if (ca != cb) {
return Integer.compare(cb, ca);
}
return a.compareTo(b);
});