IntStream(3)

툰잭 ㅣ 2023. 4. 19. 20:17

목차

  1. toArray(): IntStream을 Object[] 배열로 변환합니다.
  2. count(): IntStream의 요소 개수를 반환합니다.
  3. flatMap(): IntStream의 요소를 다른 IntStream으로 매핑합니다.
  4. reduce(): IntStream의 요소들을 하나의 값으로 축소합니다. 초기값을 지정할 수 있습니다.
  5. flatMapToLong(): IntStream의 요소를 다른 LongStream으로 매핑합니다.
  6. flatMapToDouble(): IntStream의 요소를 다른 DoubleStream으로 매핑합니다.
  7. forEachOrdered(): IntStream의 모든 요소에 대해 지정된 작업을 수행합니다. 이때, 요소의 순서는 보장됩니다.
  8. mapToObj(): IntStream의 요소를 다른 객체로 매핑합니다.
  9. summaryStatistics(): IntStream의 요소들에 대한 통계 정보를 제공합니다.
  10. peek(): IntStream의 모든 요소에 대해 지정된 작업을 수행합니다. 이때, IntStream을 그대로 반환합니다.toArray(): 

 

1.toArray(): IntStream을 Object[] 배열로 변환합니다.

int[] arr = {1, 2, 3, 4, 5};
Object[] result = Arrays.stream(arr).boxed().toArray();
System.out.println(Arrays.toString(result));  // [1, 2, 3, 4, 5]

 

2.count(): IntStream의 요소 개수를 반환합니다.

int[] arr = {1, 2, 3, 4, 5};
long count = Arrays.stream(arr).count();
System.out.println(count);  // 5

 

3.flatMap(): IntStream의 요소를 다른 IntStream으로 매핑합니다.

int[][] arr = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int[] result = Arrays.stream(arr)
                     .flatMapToInt(Arrays::stream)
                     .toArray();
System.out.println(Arrays.toString(result));  // [1, 2, 3, 4, 5, 6, 7, 8, 9]

 

4.reduce(): IntStream의 요소들을 하나의 값으로 축소합니다. 초기값을 지정할 수 있습니다.

int[] arr = {1, 2, 3, 4, 5};
int product = Arrays.stream(arr)
                    .reduce(1, (a, b) -> a * b);
System.out.println(product);  // 120

 

5.flatMapToLong(): IntStream의 요소를 다른 LongStream으로 매핑합니다.

int[][] arr = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
long[] result = Arrays.stream(arr)
                      .flatMapToLong(Arrays::stream)
                      .toArray();
System.out.println(Arrays.toString(result));  // [1, 2, 3, 4, 5, 6, 7, 8, 9]

 

6.flatMapToDouble(): IntStream의 요소를 다른 DoubleStream으로 매핑합니다.

int[][] arr = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
double[] result = Arrays.stream(arr)
                        .flatMapToDouble(Arrays::stream)
                        .toArray();
System.out.println(Arrays.toString(result));  // [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0]

 

7.forEachOrdered(): IntStream의 모든 요소에 대해 지정된 작업을 수행합니다. 이때, 요소의 순서는 보장됩니다.

int[] arr = {5, 4, 3, 2, 1};
Arrays.stream(arr).forEachOrdered(value -> System.out.print(value + " "));  // 5 4 3 2 1

 

8.mapToObj(): IntStream의 요소를 다른 객체로 매핑합니다.

int[] arr = {1, 2, 3, 4, 5};
String[] result = Arrays.stream(arr)
                        .mapToObj(String::valueOf)
                        .toArray(String[]::new);
System.out.println(Arrays.toString(result));  // ["1", "2", "3", "4", "5"]

 

9.summaryStatistics(): IntStream의 요소들에 대한 통계 정보를 제공합니다.

int[] arr = {1, 2, 3, 4, 5};
IntSummaryStatistics stats = Arrays.stream(arr).summaryStatistics();
System.out.println(stats);  // IntSummaryStatistics{count=5, sum=15, min=1, average=3.000000, max=5}

 

10.peek(): IntStream의 모든 요소에 대해 지정된 작업을 수행합니다. 이때, IntStream을 그대로 반환합니다.

int[] arr = {1, 2, 3, 4, 5};
int[] result = Arrays.stream(arr)
                     .peek(value -> System.out.println("Processing " + value))
                     .toArray();
System.out.println(Arrays.toString(result));  // [1, 2, 3, 4, 5]

 

'STUDY' 카테고리의 다른 글

백엔드 입문 프로젝트 클래스(Spring boot)  (0) 2023.05.11
IntStream  (0) 2023.04.19
IntStream(2)  (0) 2023.04.19
IntStream (1)  (0) 2023.04.19
스프링 강의  (0) 2023.04.15