일단 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로 모아준다.
'Development' 카테고리의 다른 글
Gson을 이용한 JsonUtil (0) | 2020.05.03 |
---|---|
Gson에서 Json 구성 요소 5가지 (JsonElemnt/JsonObject/JsonPrimitive/JsonArray/JsonNull) (0) | 2020.04.25 |
Gson을 이용한 Object mapping (fromJson / toJson) (0) | 2020.04.19 |