728x90
https://prohannah.tistory.com/85
메모리 절약을 위해서 empty인지 아닌지를 체크하기 위해서는 Collections.singletonList 를 사용하는게 좋다.
Collections.singletonList()
- 변경여부 : immutable (불변)
- 사이즈 : size가 1로 고정됨(지정된 단일 객체를 가르키는 주소값을 가지기 때문)
- 값 및 구조적 변경 시 UnsupportedOperationException 발생한다
Arrays.asList()
- 변경여부 : 값 변경 가능(set메소드가 허용)
- 사이즈 : 소유한 배열의 고정된 사이즈의 목록을 반환함
- 구조적 변경 시 UnsupportedOperationException 발생(ex 요소 추가, 삭제)
- ArrayList(AbstractList를 상속받은 중첩클래스)의 인스턴스를 반환함
- 해당 클래스는 set, indexOf, forEach, replaceAll 메소드를 구현하여 제공함
- 하지만 add 메소드 호출 시에는 AbstractList의 메소드를 호출하여 UnsupportedOperationException 반환
728x90
'Web > JAVA' 카테고리의 다른 글
[Generics] 제네릭 알아보기 (0) | 2023.11.29 |
---|---|
[비교] Object.equals() 와 equals() (1) | 2023.11.26 |
SpringTokenizer (0) | 2023.10.19 |
데이터 구조 (1) | 2023.10.19 |
[Java Stream] skip() vs limit() (0) | 2023.04.23 |