본문 바로가기
자료구조

List <-> 배열 변환하는 법

by 순원이 2024. 3. 29.

배열을 List로           

 

1. Arrays.asList()

String[] arr = { "A", "B", "C" };      
List<String> list = Arrays.asList(arr);

 배열의 요소를 수정하든 List의 요소를 수정하든 서로의 영향을 받는다 

ex) 배열에서 "A"를 "D"로 바꾸면 List에서도 "A"가 "D"로 바뀜

 얕은 복사(Shallow Copy)로 생각하시면 됩니다.

 

2. new ArrayList<>( Arrays.asList())

String[] arr = { "A", "B", "C" }; 
List<String> list = new ArrayList<>(Arrays.asList(arr))

그래서 new 생성자로 새로운 List를 만든 후 거기에 복사해줍니다.

깊은 복사(Deep Copy)로 생각하시면 됩니다.

 

그런데, int 배열과 같은 Primitive 타입의 배열의 경우,

위와 같은 방법으로는 List로 변환할 수 없습니다.

 

int[] arr = {1,2,3,4};
ArrayList<Integer> list = new ArrayList<>();

for(int a: arr) {
    list.add(a);
}

위와 같은 방법으로 Primitive 타입의 배열을 List로 변환할 수 있습니다.

'자료구조' 카테고리의 다른 글

Iterator에 대하여  (0) 2024.04.16
Set에 대하여  (0) 2024.04.16
Queue에 대해서  (0) 2024.04.15
HashMap 사용법  (0) 2024.03.28
자료구조 참조 사이트(내가 보기 위해 만든 것)  (0) 2024.03.26