IT/JAVA

IntStream

iamhyeon 2025. 1. 4. 22:18

IntStream

  • Java8의 Stream API에서 기본 타입 int를 처리하기 위해 제공되는 Stream 클래스
  • 박싱(Integer)없이 숫자 데이터를 효율적으로 처리할 수 있다
  • int에 대한 순차 및 병렬 집계 연산 수행하는데 사용
  • 반복문 없이도 배열이나 컬렉션의 데이터를 처리할 수 있다
  • 불필요한 박싱/언박싱 작업을 줄여 성능을 향상시킨다
  • 숫자와 관련된 연산을 쉽게 처리할 수 있다
import java.util.stream.IntStream;

생성방법

IntStream.of(values): 개별 값을 사용하여 스트림 생성.
Arrays.stream(int[]): 배열을 기반으로 스트림 생성.
IntStream.range(start, end): 시작값부터 끝값 전까지 연속된 숫자 생성.
IntStream.rangeClosed(start, end): 시작값부터 끝값 포함

 

주요 메서드

filter: 조건에 맞는 요소만 필터링.
map: 각 요소를 변환.
sorted: 요소를 정렬.
sum, average, max, min: 합계, 평균, 최대/최소값 계산

boxed: IntStream을 Stream<Integer>로 변환.


IntStream.of(values)

sum

// IntStream 생성
int[] numbers = {1,2,3,4,5};
int sum = IntStream.of(numbers).sum();
System.out.println(sum);

출력값 :  15


IntStream.range

 

forEach

// 1부터 10까지 숫자 스트림 생성
IntStream.range(1,11).forEach(System.out::println);

출력값


IntStream.range

filter

map

forEach

// 1부터 10까지 중 짝수의 제곱 계산
IntStream.range(1,11)
        .filter(x -> x%2==0)
        .map(x -> x*x)
        .forEach(System.out::println);

출력값

 

 

 

 

 


refer to

메가아이티아카데미 이광호쌤