반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- vscode
- Button
- 이클립스
- table
- json
- javascript
- IntelliJ
- js
- Visual Studio Code
- CSS
- 자바
- Java
- 문자열
- 자바스크립트
- windows
- list
- html
- 테이블
- 이탈리아
- CMD
- Array
- Maven
- 배열
- Eclipse
- date
- 인텔리제이
- string
- input
- ArrayList
- 정규식
Archives
- Today
- Total
어제 오늘 내일
[Java 기초] Collections.emptySet()으로 비어있는 불변 Set 만들기 본문
메서드의 반환 타입이 Set
일 때, 실제로는 아무 값도 없을 수 있습니다.
이럴 때 null
을 반환하기보다는 비어있는 Set을 반환하는 것이 더 안전합니다.
이때 Collections.emptySet()
을 사용하면 간단하게 처리할 수 있습니다.
이 메서드는 아무 요소도 없는 불변(immutable) Set을 만들 때 사용합니다.
1. 기본 사용법
import java.util.*;
public class EmptySetExample1 {
public static void main(String[] args) {
Set<String> empty = Collections.emptySet();
System.out.println(empty);
}
}
실행 결과
[]
👉 아무 요소도 없는 Set
이 만들어졌습니다.
2. 수정 불가능한 Set
emptySet()
으로 만든 Set은 불변이라서 수정할 수 없습니다.
import java.util.*;
public class EmptySetExample2 {
public static void main(String[] args) {
Set<Integer> emptyNumbers = Collections.emptySet();
emptyNumbers.add(10); // 수정 시도
}
}
실행 결과 (예외 발생)
Exception in thread "main" java.lang.UnsupportedOperationException
👉 요소 추가, 삭제, 교체가 모두 불가능합니다.
3. 활용 예시
- 메서드 반환값: 검색 결과가 없을 때
null
대신 반환 - 안전한 초기화: 비어 있는
Set
으로 시작할 때 - 불변 컬렉션: 읽기 전용 빈 집합이 필요할 때
4. 주의할 점
Collections.emptySet()
은 항상 같은 인스턴스를 반환합니다. (싱글톤)- 따라서 객체 생성 비용이 없고 메모리 효율적입니다.
- 자바 9 이상에서는
Set.of()
를 활용해도 비슷한 효과를 얻을 수 있습니다. (Set.of()
도 빈 Set 가능)
5. 정리
Collections.emptySet()
👉 아무 요소도 없는 불변 Set 반환- 수정 시도 시
UnsupportedOperationException
발생 null
대신 반환하면 NullPointerException을 예방할 수 있음
👉 값이 없는 Set을 반환할 때는 null
대신 Collections.emptySet()
을 쓰자!
반응형
'IT > Java' 카테고리의 다른 글
[Java 기초] Collections.singleton()으로 단일 요소 불변 Set 만들기 (0) | 2025.09.07 |
---|---|
[Java 기초] Collections.emptyMap()으로 비어있는 불변 Map 만들기 (0) | 2025.09.07 |
[Java 기초] Collections.emptyList()로 비어있는 불변 리스트 만들기 (0) | 2025.09.06 |
[Java 기초] Collections.singletonList()로 단일 요소 불변 리스트 만들기 (0) | 2025.09.05 |
[Java 기초] Collections.unmodifiableList()로 읽기 전용 리스트 만들기 (0) | 2025.09.05 |
Comments