새소식

Java/Java

java - Array를 ArrayList로 변환

  • -

Array -> ArrayList

  • 첫 번째 방법 (for문 사용)
    public static void main(String[] args) {

        ArrayList<Integer> arrayList = new ArrayList<>();

        arrayList.add(13);
        arrayList.add(17);
        arrayList.add(21);
        arrayList.add(23);

// 클래스 변환이 필요 없다.
        int array[] = new int[arrayList.size()];
        for(int i = 0; i < arrayList.size(); i++) {
            array[i] = arrayList.get(i);
        }

        System.out.println(array[3]);

    }
}
  • 두 번째 방법 (메소드 사용)

import java.util.ArrayList

public static void main(String[] args) {

        ArrayList<Integer> arrayList = new ArrayList<>();

        arrayList.add(13);
        arrayList.add(17);
        arrayList.add(21);
        arrayList.add(23);

// 변환 시 int자료형이 아닌 Integer클래스로 변환하고 진행한다.
// 사용 시에는 java의 auto UnBoxing개념을 이용해 자료형처럼 사용한다.
        Integer[] array = arrayList.toArray(new Integer[arrayList.size()]);

        System.out.println(array[0]);

    }

ArrayList -> Array

  • 첫 번째 방법 (for문 사용)

import java.util.ArrayList;


public static void main(String[] args) {
    int[] array = {13, 17, 21, 23};

    ArrayList<Integer> arrayList = new ArrayList<>();
    for(int i = 0; i < array.length; i++) {
        arrayList.add(array[i]);
    }

    System.out.println(arrayList);

}
  • 두 번째 방법 (메소드 사용)

import java.util.ArrayList;
import java.util.Arrays;
import java.util.stream.Collectors;

public static void main(String[] args) {

    int[] array = {10, 20, 30, 40};

    ArrayList<Integer> arrayList = new ArrayList<>(Arrays.stream(array).boxed().collect(Collectors.toList()));
    // Array.stream()을 이용하여 array의 값을 타겟으로 잡음
    // boxed()를 이용하여 int를 Integer로 Boxing
    // Collectors.toList()를 이용히여 항목을 목록으로 변환

    // (총정리) Array.stream()을 이용하여 array의 값을 타겟으로 잡아주고 그 타겟을 
    // boxed()를 이용하여 Boxing해 만들어진 Integer 값을 Colectors.toList()를 이용하여 목록으로 변환 시킨다. 

    System.out.println(arrayList);
    System.out.println(arrayList.get(2));
}
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.