프로그래밍 노트/JAVA

[JAVA] Operator 함수적 인터페이스 (Functional Interface)

깡냉쓰 2019. 7. 25. 23:25
728x90
반응형

Operator 함수적 인터페이스는 Function과 동일하게 매개 변수와 리턴값이 있는 applyXXX() 메소드를 가지고 있다. 하지만 이 메소드들은 매개값을 리턴값으로 매핑(타입 변환)하는 역할보다 매개값을 이용해서 연산을 수행한 후 동일한 타입으로 리턴값을 제공하는 역할을 한다.


public class OperatorExample {
    private static int[] ages = {15, 20, 10, 50};

    public static int maxOrmin(IntBinaryOperator operator){
        int result = ages[0];
        for(int age : ages){
            result = operator.applyAsInt(result, age);
        }
        return result;
    }


    public static void main(String[] args) {
        // 최대값
        int max = maxOrmin((a, b) ->{
            if(a>=b) return a;
            else return b;
        });

        // 최소값
        int min = maxOrmin((a, b)->{
            if(a<=b) return a;
            else return b;
        });

        System.out.println("최대값 구하기 성공? : " + (max == 50));
        System.out.println("최소값 구하기 성공? : " + (min == 10));
    }
}

2019/06/30 - [프로그래밍 노트/JAVA] - [JAVA] java.util.function FunctionalInterface(함수적 인터페이스) 종류

728x90
반응형