이론/알고리즘
[JAVA] Comparator를 람다식으로 사용하기
블스뜸
2025. 4. 14. 16:23
이전에 학습한 Comparator 인터페이스를 사용할 땐
Comparator<String> comparator = new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.compareTo(s2);
}
};
위와 같이 오버라이드하여 구현해주어야 했다.
하지만 이 기능을 다른 추상 메서드를 사용하지 않고 compare만 사용할건데 이렇게 작성하게되면 코드를 읽을 때 아쉬운점이 생긴다
그래서 간단하게 람다식으로 표현하는 방법을 알아보자
우선 코드를 보면 문자열 ArrayList가 있을 때 new Comparator를 선언해 오버라이드를 하지않고 사용한 것을 알 수 있다
arrayList.sort((o1, o2) -> {
return (o1 + o2).compareTo(o2 + o1);
});