본문 바로가기

코테 공부/java

ArrayList<Integer> 를 int[] 배열로 변환

String 타입의 List를 배열로 변환할 때는 toArray()를 사용하면 변환 가능.

하지만 Integer형은 toArray()로 바로 안되서 int로 바꾸고 toArray() 적용

public static void main(String args[]) {
    List<Integer> list = new ArrayList<>();
    list.add(1);
    list.add(2);
    list.add(3);
    

    //1)
    int[] arr3 = list.stream()
                .mapToInt(Integer::intValue)
                .toArray();
    
    // 2)
    int[] arr2 = list.stream()
                .mapToInt(i -> i)
                .toArray();

    // 3)
    int[] arr1 = new int[list.size()]
    for (int i = 0 ; i < list.size() ; i++) 
        arr1[i] = list.get(i).intValue();

}

1) 리스트를 스트림으로 변환 후, map을 이용해서 intValue 메서드를 통해 각 요소를 int형으로 변경, toArray().

 

2) 리스트를 스트림으로 변환 후, map을 이용해서 자바가 자동으로 각 요소의 Integer 요소를 int형으로 unbox, toArray(). (java 5 이상) 

 

3) 반복문. 기본적인 방법. intValue 메서드를 사용해여 int형으로 만든 후 배열에 삽입.