프로그래밍 언어/JAVA

Java 8 스트림을 배열로 변환하는 방법

Rateye 2021. 11. 1. 10:19
728x90
반응형
질문 : Java 8 스트림을 어레이로 변환하는 방법은 무엇입니까?

Stream 을 배열로 변환하는 가장 쉽고 짧은 방법은 무엇입니까?

답변

가장 쉬운 방법은 toArray(IntFunction<A[]> generator) 메서드를 사용하는 것입니다. 이것은 메소드에 대한 API 문서 에서 제안됩니다.

String[] stringArray = stringStream.toArray(String[]::new);

그것이하는 일은 정수 (크기)를 인자로 받고 String[] new String[] 의 오버로드 중 하나입니다.

IntFunction 작성할 수도 있습니다.

Stream<String> stringStream = ...;
String[] stringArray = stringStream.toArray(size -> new String[size]);

IntFunction<A[]> generator 의 목적은 배열 크기 인 정수를 새 배열로 변환하는 것입니다.

예제 코드 :

Stream<String> stringStream = Stream.of("a", "b", "c");
String[] stringArray = stringStream.toArray(size -> new String[size]);
Arrays.stream(stringArray).forEach(System.out::println);

인쇄물:

a
b
c
출처 : https://stackoverflow.com/questions/23079003/how-to-convert-a-java-8-stream-to-an-array
728x90
반응형