JAVA (자바개발자) - 람다 표현식을 조합할 수 있는 유용한 메서드
자바 8 API의 함수형 인터페이스는 다양한 유틸리티 메서드를 포함한다. comparator function predicate 함수형 인터페이스의 정의에서 벗어나지 않는다. ->디폴트 메서드
Comparator<tree> Forest = Comparator.comparing(tree::getSpecies);
Dictionary.sort(comparing(tree:getSpecies).reversed());
comparator 연결. https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html#method.summary predicate 조합. function 조합 andThen 파이프라인. 함수형 인터페이스(Functional Interface)
- 추상 메소드를 하나만 가지고 있는 인터페이스이다.
- Single Abstract Method 인터페이스이다.
- @Functionalinterface 어노테이션을 가지고 있는 인터페이스
@Functionalinterface는 인터페이스가 함수형 인터페이스에 적합하는지 알려주는 어노테이션이다. 만약 한 인터페이스에 두개 이상의 추상메서드가 존재한다면, 컴파일에러가 발생한다.
comparable vs comparator
일단, 두 인터페이스를 구체적으로 알아보기에 앞서 먼저 정답부터 말하자면, Comparable은 “자기 자신과 매개변수 객체를 비교”하는 것이고, Comparator는 “두 매개변수 객체를 비교”한다는 것이다.
Leave a comment