Java에서 스트림을 배열로 변환
Waleed
2023년10월12일
-
convertStreamToArray()
메서드를 사용하여 Java에서 스트림을 배열로 변환 -
Java에서 스트림을 배열로 변환하려면
toArray()
메서드를 사용합니다 -
mapToInt()
메서드 사용
스트림은 많은 메서드를 지원하고 원하는 결과를 생성하도록 사용자 지정할 수 있는 개체 모음입니다.
반면에 배열은 동일한 이름으로 선언된 동일한 데이터 유형 변수의 모음입니다. 배열을 기본 데이터 유형 또는 클래스의 개체로 정의할 수 있습니다.
배열을 기본 데이터 유형으로 정의하면 실제 값은 별도의 메모리 위치에 저장됩니다. 반대로 배열을 클래스의 객체로 정의하면 실제 객체는 힙 세그먼트에 저장됩니다.
convertStreamToArray()
메서드를 사용하여 Java에서 스트림을 배열로 변환
스트림은 객체 배열의 스트림 요소와 함께 배열을 반환하는 convertStreamtoArray()
메서드와 함께 제공됩니다.
연산
- 먼저 정수 스트림을 만듭니다.
Stream.toArray()
메서드를 사용하여 정수 스트림을 배열로 변환합니다.- 반환된 배열은
Object[]
유형입니다. - 마지막에 해당 배열 객체를 반환합니다.
프로그램
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()
입니다. 이 메서드는 스트림의 요소를 포함하는 배열을 반환합니다. 제공된 생성기 함수를 사용하여 반환된 배열과 함수의 분할된 실행에 필요한 기타 배열에 공간을 할당합니다.
연산
- 스트림을 생성합니다.
toArray()
메서드를 사용하여 스트림을 배열로 변환합니다. 이 작업을 완료하려면 반환된 배열에 공간을 할당하기 위해 생성기 함수로Object []: new
를 전달해야 합니다.- 이 과정을 통해 얻은 배열은
Object[]
유형입니다. - 마지막에
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 []
)로 변환됩니다.
연산
- 정수 스트림 생성
Stream.mapToInt()
메서드를 사용하여 정수 스트림을 정수 스트림(intStream)으로 변환합니다.toArray()
메서드를 사용하여 결과 스트림을 정수 배열(int []
)로 변환합니다.- 이 방법으로 얻은 배열은 정수형이다.
- 마지막에 정수 배열(
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 8 스트림의 속성별 구별
- Java에서 Iterable을 스트림으로 변환
- Java에서 스트림을 목록으로 변환
- Java의 BiFunction 인터페이스
- Java의 flatMap