IntStream
은 Java 8부터 추가된 Java API의 일부로, 기본 타입 int
를 스트림 형태로 다룰 수 있도록 해주는 클래스입니다. IntStream
은 기본적으로 int 값들의 스트림을 생성하고, 다양한 중간 연산과 최종 연산을 사용하여 요소들을 변환, 필터링, 합산, 평균 등의 작업을 수행할 수 있습니다. 이를 통해 데이터를 보다 간결하고 효율적으로 처리할 수 있게 됩니다.
IntStream
은 java.util.stream
패키지에 속해 있으며, 자주 사용되는 메서드들에는 다음과 같은 것들이 있습니다:
range(int startInclusive, int endExclusive)
: 주어진 범위에 포함되는 정수들로 구성된 스트림을 생성합니다.startInclusive
는 포함되는 시작 값이고,endExclusive
는 포함되지 않는 마지막 값입니다.rangeClosed(int startInclusive, int endInclusive)
: 주어진 범위에 포함되는 정수들로 구성된 스트림을 생성합니다.startInclusive
와endInclusive
모두 포함됩니다.filter(IntPredicate predicate)
: 주어진 조건을 만족하는 요소들만 필터링하여 새로운 스트림을 생성합니다.predicate
는int
값을 입력받아boolean
값을 반환하는 함수형 인터페이스입니다.map(IntUnaryOperator mapper)
: 각 요소를 주어진 매핑 함수에 따라 변환하여 새로운 스트림을 생성합니다.mapper
는int
값을 입력받아 변환된int
값을 반환하는 함수형 인터페이스입니다.sum()
: 스트림의 모든 요소를 합산합니다. 결과는int
형태로 반환됩니다.average()
: 스트림의 모든 요소의 평균값을 계산합니다. 결과는OptionalDouble
형태로 반환됩니다.toArray()
: 스트림의 요소들을 배열로 변환합니다.
이제 IntStream
의 예시 코드를 아래에 제공하겠습니다:
import java.util.stream.IntStream;
public class IntStreamExample {
public static void main(String[] args) {
// 1부터 5까지의 정수들로 구성된 스트림 생성
IntStream stream = IntStream.rangeClosed(1, 5);
// 스트림의 요소들을 출력
System.out.print("스트림 요소들: ");
stream.forEach(element -> System.out.print(element + " ")); // Output: 1 2 3 4 5
System.out.println();
// 필터링하여 짝수만 출력
System.out.print("짝수만 출력: ");
IntStream.rangeClosed(1, 5)
.filter(element -> element % 2 == 0)
.forEach(element -> System.out.print(element + " ")); // Output: 2 4
System.out.println();
// 제곱값 계산하여 출력
System.out.print("제곱값 출력: ");
IntStream.rangeClosed(1, 5)
.map(element -> element * element)
.forEach(element -> System.out.print(element + " ")); // Output: 1 4 9 16 25
System.out.println();
// 합계 계산
int sum = IntStream.rangeClosed(1, 5).sum();
System.out.println("합계: " + sum); // Output: 15
// 평균 계산
double average = IntStream.rangeClosed(1, 5).average().orElse(0);
System.out.println("평균: " + average); // Output: 3.0
// 스트림의 요소들을 배열로 변환
int[] array = IntStream.rangeClosed(1, 5).toArray();
System.out.print("배열 출력: ");
for (int element : array) {
System.out.print(element + " "); // Output: 1 2 3 4 5
}
}
}
위 예시 코드에서는 IntStream
을 이용하여 다양한 작업을 수행하는 방법을 보여줍니다. 스트림을 생성하고, 필터링하고, 변환하고, 합산하고, 평균값을 계산하며, 배열로 변환하는 등의 작업이 수행되고 있습니다. 이를 통해 데이터 처리를 보다 간결하고 효율적으로 할 수 있습니다.
'코딩테스트-자바' 카테고리의 다른 글
Java 코테를 위한 기능 정리 -수학- (0) | 2023.07.29 |
---|---|
Java 코테를 위한 기능 정리 -문자열- (0) | 2023.07.29 |