Java/14. 람다식 (Lambda Expressions)
Day 19 : 표준 API의 함수적 인터페이스 - Operator
pancakemaker
2021. 11. 12. 15:13
Operator 함수적 인터페이스 : 매개 변수 O, 리턴값 O → 매개값을 이용해서 연산을 수행한 후 동일한 타입으로 리턴값을 제공한다. - apply() 메소드
매개 변수의 타입과 수에 따라 분류
두 개의 int를 연산해서 결과값으로 int를 리턴
IntBinaryOperator operator = (a, b) -> {...; return int값; };
Operator 함수적 인터페이스
package sec05.exam05_operator;
import java.util.function.IntBinaryOperator;
public class OperatorExample {
private static int[] scores = { 92, 95, 87 };
public static int maxOrMin(IntBinaryOperator operator) {
int result = scores[0]; //92
for(int score : scores) {
result = operator.applyAsInt(result, score);
//result와 score를 연산
//어떤 연산을 할 것인지는 메인 메소드에서 선언
}
return result;
}
public static void main(String[] args) {
//최대값 얻기
int max = maxOrMin(
(a, b) -> {
if(a >= b) return a;
else return b;
}
);
System.out.println("최대값: " + max);
//최소값 얻기
int min = maxOrMin(
(a, b) -> {
if(a <= b) return a;
else return b;
}
);
System.out.println("최소값: " + min);
}
}
최대값: 95
최소값: 87