728x90
반응형
자바에서 List를 만드는 방법은 3가지가 있습니다.
1)
import java.util.ArraysList;
List<Integer> numberList = new ArrayList<>();
2)
import java.util.Arrays;
List<Integer> numberList = Arrays.asList();
3)
import java.util.List;
List<Integer> numberList = List.of();
3가지 방법의 차이점
Element add & remove | setter | null | |
1) new ArrayList<>() | 가능 | 가능 | 가능 |
2) Arrays.asList() | 불가능 | 가능 | 가능 |
3) List.of | 불가능 | 불가능 | 불가능 |
Element add & remove가 불가능한 방법에서 add를 사용할 경우, UnsupportedOperationException이 발생합니다.
Immutable Object
List.of()
참조한 원본 배열의 값이 변경되어도 List의 값은 변경되지 않습니다.
Arrays.asList()
참조한 원본 배열의 값이 변경되면 List의 값도 변경되고 List의 값이 변경되면 원본 배열의 값도 변경됩니다.
[참고]
1. new ArrayList<>()와 Arrays.asList()와 List.of()
728x90
반응형
'JAVA' 카테고리의 다른 글
[Java] Lock - ReentrantLock (0) | 2022.12.08 |
---|---|
[Java] Mutable & Immutable (2) | 2022.11.23 |
[Java] 자바 메모리 영역 관련 노트 정리 (0) | 2022.10.24 |
[Java] Thread Local (0) | 2022.10.24 |
[Java] Collection - Map (0) | 2022.09.19 |