Sort Lambda
Sort Lambda
Sort Lambda
- 자바에서는
Arrays.sort
혹은Collections.sort
함수를 통해 배열 및 리스트 등의 정렬을 수행 가능 - 정렬하는 대상이
primitive type
혹은comparable
인터페이스를 구현한 경우, 별도의 정렬 함수 없이 정렬 가능 - 그러나 다음과 같은 경우에는 직접 정렬 함수를 넣어줘야 함
- 별도의 기준으로 정렬하고 싶을 때
comparable
인터페이스가 구현되지 않은 클래스의 객체들을 정렬할 때
- Java 8부터는 람다 문법을 지원하므로, 정렬 함수 자리에 람다식을 넣으면 간단하게 표현 가능
예시
- 다음은 string을 길이 순으로 정렬하고, 길이가 같은 경우 사전 순으로 정렬하는 예시
String[] words = new String[N];
Arrays.sort(words, (s1, s2) -> {
if (s1.length() != s2.length()) {
return s1.length() - s2.length();
}
return s1.compareTo(s2);
});