배열을 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 |