배열을 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로 변환할 수 있습니다.
'CS > 자료구조' 카테고리의 다른 글
LiskedList vs ArrayDeque vs 배열 (0) | 2024.08.01 |
---|---|
HashMap 동작원리 (0) | 2024.05.23 |
Iterator에 대하여 (0) | 2024.04.16 |
Set에 대하여 (0) | 2024.04.16 |
HashMap 사용법 (0) | 2024.03.28 |