Java에서 스트림을 배열로 변환

Waleed 2023년10월12일
  1. convertStreamToArray() 메서드를 사용하여 Java에서 스트림을 배열로 변환
  2. Java에서 스트림을 배열로 변환하려면 toArray() 메서드를 사용합니다
  3. mapToInt() 메서드 사용
Java에서 스트림을 배열로 변환

스트림은 많은 메서드를 지원하고 원하는 결과를 생성하도록 사용자 지정할 수 있는 개체 모음입니다.

반면에 배열은 동일한 이름으로 선언된 동일한 데이터 유형 변수의 모음입니다. 배열을 기본 데이터 유형 또는 클래스의 개체로 정의할 수 있습니다.

배열을 기본 데이터 유형으로 정의하면 실제 값은 별도의 메모리 위치에 저장됩니다. 반대로 배열을 클래스의 객체로 정의하면 실제 객체는 힙 세그먼트에 저장됩니다.

convertStreamToArray() 메서드를 사용하여 Java에서 스트림을 배열로 변환

스트림은 객체 배열의 스트림 요소와 함께 배열을 반환하는 convertStreamtoArray() 메서드와 함께 제공됩니다.

연산

  1. 먼저 정수 스트림을 만듭니다.
  2. Stream.toArray() 메서드를 사용하여 정수 스트림을 배열로 변환합니다.
  3. 반환된 배열은 Object[] 유형입니다.
  4. 마지막에 해당 배열 객체를 반환합니다.

프로그램

import java.util.*;
import java.util.stream.*;

public class sampleArticle {
  // Function to convert Stream to Array
  public static <D> Object[] convertStreamToArray(Stream<D> stream) {
    return stream.toArray();
  }

  public static void main(String args[]) {
    // Create a stream of integers
    Stream<Integer> stream = Stream.of(2, 4, 6, 8, 10);

    // Convert Stream to array
    Object[] array = convertStreamToArray(stream);

    // Print the array of stream
    System.out.println("Array from Stream: " + Arrays.toString(array));
  }
}

출력:

Array from Stream: [2,4,6,8,10]

Java에서 스트림을 배열로 변환하려면 toArray() 메서드를 사용합니다

Java 스트림을 배열로 변환하는 또 다른 사전 정의된 Java 메소드는 toArray()입니다. 이 메서드는 스트림의 요소를 포함하는 배열을 반환합니다. 제공된 생성기 함수를 사용하여 반환된 배열과 함수의 분할된 실행에 필요한 기타 배열에 공간을 할당합니다.

연산

  1. 스트림을 생성합니다.
  2. toArray() 메서드를 사용하여 스트림을 배열로 변환합니다. 이 작업을 완료하려면 반환된 배열에 공간을 할당하기 위해 생성기 함수로 Object []: new를 전달해야 합니다.
  3. 이 과정을 통해 얻은 배열은 Object[] 유형입니다.
  4. 마지막에 Array[] 객체를 반환합니다.

프로그램

import java.util.*;
import java.util.stream.*;
public class sampleArticle {
  // defining function that converts stream into an array
  public static <D> Object[] convertStreamToArray(Stream<D> stream) {
    return stream.toArray(Object[] ::new);
  }

  public static void main(String args[]) {
    // Create a stream of integers
    Stream<Integer> stream1 = Stream.of(2, 4, 6, 8, 10);

    // Convert Stream to array
    Object[] array = convertStreamToArray(stream1);

    // Print the array of stream
    System.out.println("Converted array from Stream: " + Arrays.toString(array));
  }
}

출력:

Converted array from Stream: [2,4,6,8,10]

mapToInt() 메서드 사용

Java 8 Stream은 주어진 스트림의 요소를 포함하는 정수 스트림을 반환하는 mapToInt() 메소드와 함께 제공됩니다. 중간 과정입니다. 이렇게 얻은 intStream은 toArray() 메서드를 사용하여 정수 배열(int [])로 변환됩니다.

연산

  1. 정수 스트림 생성
  2. Stream.mapToInt() 메서드를 사용하여 정수 스트림을 정수 스트림(intStream)으로 변환합니다.
  3. toArray() 메서드를 사용하여 결과 스트림을 정수 배열(int [])로 변환합니다.
  4. 이 방법으로 얻은 배열은 정수형이다.
  5. 마지막에 정수 배열(int [])을 반환합니다.

프로그램

import java.util.*;
import java.util.stream.*;

public class sampleArticle {
  // defining function that converts stream into an array
  public static int[] convertStreamToArray(Stream<Integer> stream) {
    return stream.mapToInt(Integer::intValue).toArray();
  }

  public static void main(String args[]) {
    // Create a stream of integers
    Stream<Integer> stream1 = Stream.of(2, 4, 6, 8, 10);

    // Convert Stream to array
    int[] array = convertStreamToArray(stream1);

    // Print the array of stream
    System.out.println("Converted array from Stream: " + Arrays.toString(array));
  }
}

출력:

Converted array from Stream: [2,4,6,8,10]

관련 문장 - Java Stream

관련 문장 - Java Array