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
메가아이티아카데미 이광호쌤