[JAVA] ArrayList<Integer>를 int[]로 바꾸기

Coastby·2022년 10월 31일
0

코딩테스트

목록 보기
5/11

String 타입의 List를 배열로 변환할 때는 toArray()를 사용하면 변환할 수 있다. 하지만 Int형과 같은 primitive 타입은 toArrya()를 사용하면 Object[]로 반환된다.

public static void main(String args[]) {
    List<Integer> list = new ArrayList<>();
    list.add(1);
    list.add(2);
    list.add(3);
    
    // 방법 1
    int[] arr1 = new int[list.size()]
    for (int i = 0 ; i < list.size() ; i++) {
        arr1[i] = list.get(i).intValue();
    
    // 방법 2
    int[] arr2 = list.stream()
                .mapToInt(i -> i)
                .toArray();
    
    // 방법 3
    int[] arr3 = list.stream()
                .mapToInt(Integer::intValue)
                .toArray();

    // 방법 4
    int[] arr4 = list.stream()
                .filter(i -> i != null)
                .mapToInt(i -> i)
                .toArray();
}

방법 4는 방법 2에서 필터를 추가한 방법이다. 필터를 통해 리스트의 null을 걸러낸다.

출처 : https://velog.io/@deannn/Java-int형-ArrayList-배열-변환

profile
훈이야 화이팅

0개의 댓글