투케이2K

93. (java/자바) 람다식 Rambda 사용해 배열 array 데이터 sum,max,min,average 출력 본문

Java

93. (java/자바) 람다식 Rambda 사용해 배열 array 데이터 sum,max,min,average 출력

투케이2K 2021. 1. 8. 07:50

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : Eclipse

개발 언어 : Java

/* =========================== */

/* =========================== */

[소스 코드]

 

package AI3;

import java.util.stream.IntStream;

public class MainActivity {

	//초기 배열 선언 및 데이터 삽입 실시
	static int arr[] = {10, 20, 30};
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("[람다식 Rambda 사용해 배열 array 데이터 sum,max,min,average 출력]");	
		
		/*[설 명]
		 *1. 람다식 - 메소드를 하나의 식으로 표현한 것입니다 
		 *2. 형식 - (매개변수목록) -> {메소드 몸체}
		 *3. 참고 - interface를 람다식으로 선언하기 위해서는 반드시 @FunctionalInterface 라는
		 *        어노테이션 표시를 해줘야합니다
		 */
		
		System.out.println("합계 : "+arraySum.sum(arr));
		System.out.println("최대값 : "+arrayMax.max(arr));
		System.out.println("최소값 : "+arrayMin.min(arr));
		System.out.println("평균 : "+arrayAvg.avg(arr));

	}//메인 종료
	
	// ==== 배열 합계 구하는 부분 ====
	@FunctionalInterface
	interface ArraySum{
		public int sum(int arr[]); //메소드 헤더 정의
	}
	static ArraySum arraySum = (arr) -> IntStream.of(arr).sum();
	
	// ==== 배열 최대값 구하는 부분 ====
	interface ArrayMax{
		public int max(int arr[]); //메소드 헤더 정의
	}
	static ArrayMax arrayMax = (arr) -> IntStream.of(arr).max().getAsInt();
	
	// ==== 배열 최소값 구하는 부분 ====
	interface ArrayMin{
		public int min(int arr[]); //메소드 헤더 정의
	}
	static ArrayMin arrayMin = (arr) -> IntStream.of(arr).min().getAsInt();
	
	// ==== 배열 평균 구하는 부분 ====
	interface ArrayAvg{
		public int avg(int arr[]); //메소드 헤더 정의
	}
	static ArrayAvg arrayAvg = (arr) -> (int)IntStream.of(arr).average().getAsDouble();

}//클래스 종료

/* =========================== */

[결과 출력]

[람다식 Rambda 사용해 배열 array 데이터 sum,max,min,average 출력]

합계 : 60

최대값 : 30

최소값 : 10

평균 : 20

/* =========================== */

/* =========================== */

[요약 설명]

*1. 람다식 - 메소드를 하나의 식으로 표현한 것입니다

*2. 형식 - (매개변수목록) -> {메소드 몸체}

*3. 참고 - interface를 람다식으로 선언하기 위해서는 반드시 @FunctionalInterface 라는

             어노테이션 표시를 해줘야합니다

/* =========================== */

반응형
Comments