💻 IT/📌 Java

[Java] List to Array :: 자바 리스트를 배열로 변환하기

GODSU 2022. 3. 31. 12:58
반응형



저번 포스팅에서 배열을 리스트로 변환하는 것을 알아보았는데요!

 

[JAVA] Array To List :: 배열을 리스트로 변환하는 방법

오늘은 JAVA에서 배열을 리스트로 변환하는 방법을 알려드리겠습니다! Arrays Class 이용하여 변환 import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; import java.util.str..

godsu94.tistory.com

오늘은 리스트를 배열로 변환하는 법을 알려드리겠습니다~


List 클래스에 toArray() 함수 이용
package project;

import java.util.ArrayList;
import java.util.List;

public class Main {

    public static void main(String[] args) {
            
        List<Integer> list1 = new ArrayList<Integer>();
        
        list1.add(1);
        list1.add(2);
        list1.add(3);
        
        System.out.println("****변환전 LIST****");
        for(Integer integer : list1){
            System.out.println(integer);
        }
        
        /*Array toArray 이용*/
        Integer arr[] = list1.toArray(new Integer[list1.size()]);
        
        System.out.println("****변환후 Array****");
        for(int i=0; i<arr.length; i++){
            System.out.println(arr[i]);            
        }
          
    }

}

ArrayList 클래스 안에 있는 toArray() 함수를 이용하면 리스트를 배열로 변환 가능합니다.
파라미터 인자로는 변환할 배열의 타입과 동일한 (배열) 객체를 생성하여 넣어주면 됩니다.
배열 사이즈는 원본 리스트 사이즈로 설정하면 됩니다!
(참고, 이 방법은 Primitive 타입으로는 변환 불가 >> Wrapper class 용도)

[ArrayList toArray()]

출처 :&nbsp;https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html

위에 내용을 간단히 정리하면
만약, 입력받은 파라미터의 배열 객체가 원본 리스트보다 작은 경우 (파라미터 배열 SIZE < 원본 리스트 SIZE)
=> 원본 리스트 SIZE 크기로 배열을 생성함
반대로, 원본 리스트보다 작은 경우 (파라미터 배열 SIZE > 원본 리스트 SIZE)
파라미터로 전달받은 배열 객체의 길이가, 원본 리스트보다 큰 경우 배열을 더 크게 만들어주며 나머지 인덱스 부분은 NULL로 생성


 

반응형



반복문 이용
package project;

import java.util.ArrayList;
import java.util.List;

public class Main {

    public static void main(String[] args) {
            
        List<Integer> list1 = new ArrayList<Integer>();
        
        list1.add(1);
        list1.add(2);
        list1.add(3);
        
        System.out.println("****변환전 LIST****");
        for(Integer integer : list1){
            System.out.println(integer);
        }
        
        /*반복문 이용*/
        int arr[] = new int[list1.size()];
        
        System.out.println("****변환후 Array****");
        for(int i=0; i<arr.length; i++){
            arr[i] = list1.get(i);          
            System.out.println(arr[i]);
        }
        
    }

}

위에 ArrayList의 toArray() 함수는 Primitive 타입으로는 변환이 불가하다 그러면 어떻게 해야 할까?


방법은 가장 단순하게 새롭게 배열을 만들어주고, 반복문으로 1:1 매핑만 해주면 된다! (쏘심플)



오늘은 리스트를 배열로 변경하는 법 정리해보았습니다~


감사합니다!

반응형