import java.util.ArrayList;
import java.util.Arrays;
public class Sample {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
// for문 사용 시
int[] arr = new int[list.size()];
for(int i = 0; i<list.size(); i++) {
arr[i] = list.get(i);
}
System.out.println(Arrays.toString(arr));
// Stream 사용 시
int[] arr2 = list.stream().mapToInt(Integer::intValue).toArray();
System.out.println(Arrays.toString(arr2));
}
}
자바에서 List<Integer> 타입의 값을 모두 int 배열로 넣어주고 싶은데 for문 돌리기는 손이 가기 때문에 편하게 int[] 배열로 넣어주려면 Stream을 사용하면 되는데
int[] arr = list.stream().mapToInt(Integer::intValue).toArray();
다음과 같이 stream 돌리면서 mapToInt 메소드를 사용해 Integer를 모두 int로 바꿔준 후 배열 형태로 뽑아주면 간단하게 끝이다.
Leave a Reply