숭어 개발 블로그

[Java] 요소 기본 집계 본문

JAVA/스트림 요소 처리

[Java] 요소 기본 집계

숭어싸만코 2023. 6. 21. 19:12

집계 ( Aggregate) 

- 최종 처리 기능으로 요소들을 처리해서 카운팅, 합계, 평균값, 최대값, 최소값등과 같이 하나의 값으로 산출하는 것을 말한다.

- 즉, 대량의 데이터를 가공해서 하나의 값으로 축소하는 리덕션 (Reduction)이라고 볼 수 있다.

Ex) 합 , 평균, 최대값, 최소값, findFirst, findAny

package study0620.Stream_Aggregate;

import java.util.Arrays;

public class AggreagateExample {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		//정수 배열
		int [] arr = {1,2,3,4,5};
		
		//카운팅
		long count = Arrays.stream(arr)
				.filter(n -> n%2==0)
				.count();
		System.out.println("2의 배수의 합: "+ count);
		
		//총합
		 long sum = Arrays.stream(arr)
				 .filter(n -> n%2==0)
				 .sum();
		 System.out.println("2의 배수의 합 : "+sum);
		 
		 //평균
		 double avg = Arrays.stream(arr)
				 .filter(b -> b%2==0)
				 .average()
				 .getAsDouble();
		 System.out.println("2의 배수의 평균 : "+ avg);
		 
		 //최대값
		 int max = Arrays.stream(arr)
				 .filter(a -> a%2==0)
				 .max()
				 .getAsInt();
		 System.out.println("최대값 : "+ max);
		 
		 //최소값
		 int min = Arrays.stream(arr)
				 .filter(a -> a%2==0)
				 .min()
				 .getAsInt();
		 System.out.println("최소값 : "+ min);
		 
		 //findFirst -> 순서에 따라 가장 먼저 찾은 요소(직렬 처리)
		 int first = Arrays.stream(arr)
				 .filter(a -> a%3==0)
				 .findFirst()
				 .getAsInt();
		 System.out.println("첫번째 3의배수 : "+ first);
		 
		 //findAny -> 순서 관계 없이 가장먼저 찾은 요소 (병렬 처리 시)
		 int any= Arrays.stream(arr)
				 .filter(a -> a%3==0)
				 .findAny().getAsInt();
		 
		 System.out.println(any);
		 
		
		
	}//

}//

'JAVA > 스트림 요소 처리' 카테고리의 다른 글

[Java] 요소 정렬 (Sorted)  (0) 2023.06.21
[Java] 요소 변환 (매핑)  (0) 2023.06.21
[Java] 요소 걸러내기(필터링)  (0) 2023.06.21
[Java] 리소스로부터 스트림 얻기  (0) 2023.06.21
[JAVA] 스트림  (0) 2023.06.21
Comments