본문 바로가기
Coding/Coding Test Grammar

[Coding Test Grammer] List<String>을 String[]배열로 변환(Java)

by Thompson 2025. 3. 18.
728x90
반응형
 
return list.stream().toArray(String[]::new);

 

// list.stream()

List<String> 타입인 list를 스트림(Stream<String>)으로 변환합니다.

Stream<String> stream = list.stream();

 

// .toArray(String[]::new)

스트림(Stream<String>)을 배열로 변환하는 과정입니다.

참고) Stream.toArray() 메서드의 원래 형태

<T> T[] toArray(IntFunction<T[]> generator)

<String> String[] toArray(IntFunction<String[]> generator)
  • IntFunction<T[]> generator : 배열을 생성하는 함수
  • T는 스트림 요소의 타입

즉, toArray()는 스트림의 요소 개수를 계산한 뒤, generator를 이용해 새로운 배열을 생성해.

// String[]::new ( 생성자 참조 )

(String[]::new)는 배열을 생성하는 함수입니다.
String[]::new는 익명 함수(lambda)입니다.

 
  • list.stream() // 리스트를 스트림으로 변환
  • .toArray(String[]::new) // 스트림을 String[] 배열로 변환 (필요한 크기의 배열을 생성해서 저장)