velog에서 이전한 글 입니다.
List
List<Integer> list = Arrays.asList(new Integer[] {1,2,3});
List<int[]> list2 = Arrays.asList(new int[]{1, 2, 3});
Stream.of랑 비슷한 느낌으로 원시 타입은 배열을 그대로 가져간다.
List<Integer> a1 = Arrays.asList(1,2,3);
List<Integer> a2 = List.of(1,2,3);
a1.add(4); //UnsupportedOperationException
a2.add(4); //UnsupportedOperationException
//아래처럼 작성하자.
List<Integer> a = new ArrayList<>(Arrays.asList(1,2,3));
a.add(4);
둘 다 Immutable List
를 생성하고 요소를 추가하면 Exception을 던진다.
컴파일 에러는 아니므로 작성에 주의하자.
2차 배열
public static void main(String[] args) {
List<List<Integer>> a = new ArrayList<>();
int num = 0;
for(int i=0; i<5; i++){
a.add(new ArrayList<>(Arrays.asList(num++, num++, num++)));
}
System.out.println(a);
}
2차 배열도 안까지 List로 하자.
배열로 문제를 접근하겠다하면 List를 기본으로 생각하는게 편할 듯 하다.
'Language > Java' 카테고리의 다른 글
자바) combination/ stream (23-06-19) (0) | 2023.07.13 |
---|---|
자바) 와일드카드 (23-05-30) (0) | 2023.07.13 |
자바) enum, 열거형 (23-05-24) (0) | 2023.07.13 |
자바) Stream.of() (23-05-24) (0) | 2023.07.13 |
자바) Stream.of/ Arrays.stream/ Integer <-> int (23-05-18) (0) | 2023.07.13 |