일단 int는 primitive data type이라서 generic으로 포함될수 없다.

int는 wrapper를 써서 Integer가 되어야 하고... 

 

두가지 방법이 있다.

 

1. 반복문을 통해서 하나하나 넣어주기

int[] arr = {1, 2, 3};
List<Integer> list = new ArrayList<>(arr.length);
for (int num : arr) {
    list.add(num);
}

배열의 element하나씩 list 에 add해준다.

 

2. stream을 이용하는 방법

List<Integer> list1 = Arrays.stream(arr).boxed().collect(Collectors.toList());
List<Integer> list2 = IntStream.of(arr).boxed().collect(Collectors.toList());

먼저 Arrays.stream(arr)을 통해 배열을 stream 화 해준다. Arrays.stream(arr)의 결과는 IntStream 이므로 IntStream.of(arr)도 무방하다.

boxed() 를 통해서 stream의 개별 값을 wrapper 하여 Integer 객체로 변경한다.

collect를 통해서 List로 모아준다.

+ Recent posts