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