JAVA/JAVA8
UnaryOperator & BinaryOperator Functional Interface
최-코드
2024. 8. 13. 16:17
- 두 함수형 인터페이스 모두 Function 인터페이스를 확장한 것으로, 입력과 출력이 동일한 타입일 때 사용된다.
- UnaryOperator의 경우 입력 인자를 하나만 받는 것이고, BinaryOperator의 경우 입력 인자를 두 개 받는다.
- 따라서 기본 형태는 '~Operator<타입>'와 같다.
- BinaryOperator의 경우 maxBy와 minBy라는 메소드가 추가된다. 이는 두 개의 인자를 비교하여 각 메소드에 맞게 출력해주는 함수이다. 해당 메소드의 인자로는 Comparator이다.
public class BinaryOperatorExample {
public static void main(String[] args) {
BinaryOperator<Integer> binaryOperator = (a, b) -> a*b;
int result = binaryOperator.apply(10,20);
System.out.println(result);
System.out.println("--------------------");
maxByExample();
}
public static void maxByExample(){
Comparator<Integer> comparator = (a,b)-> a.compareTo(b);
BinaryOperator<Integer> maxBy = BinaryOperator.maxBy(comparator);
int maxValue = maxBy.apply(4,5);
System.out.println(maxValue);
}
}