반응형
    
    
    
  
		                                        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
                                        
                                    
                                    - input
- 이탈리아
- html
- HashMap
- 배열
- ArrayList
- 이클립스
- js
- vscode
- 정규식
- CMD
- 자바스크립트
- json
- replace
- Array
- map
- Eclipse
- string
- Button
- CSS
- IntelliJ
- javascript
- Visual Studio Code
- table
- Java
- 문자열
- date
- 인텔리제이
- 자바
- list
                                        Archives
                                        
                                    
                                    - Today
- Total
어제 오늘 내일
[Java 기초] Collections.emptyMap()으로 비어있는 불변 Map 만들기 본문
메서드의 반환 타입이 Map일 때, 실제 데이터가 없을 수도 있습니다.
이럴 때 null을 반환하면 호출하는 쪽에서 NullPointerException 위험이 있습니다.
따라서 안전하게 비어 있는 Map을 반환하는 것이 좋습니다.
이럴 때 Collections.emptyMap()을 사용하면 아주 간단합니다.
이 메서드는 아무 요소도 없는 불변(immutable) Map을 만들 때 사용합니다.
1. 기본 사용법
import java.util.*;
public class EmptyMapExample1 {
    public static void main(String[] args) {
        Map<String, String> empty = Collections.emptyMap();
        System.out.println(empty);
    }
}실행 결과
{}👉 아무 키-값 쌍도 없는 Map이 만들어졌습니다.
2. 수정 불가능한 Map
emptyMap()으로 만든 Map은 불변이기 때문에 수정할 수 없습니다.
import java.util.*;
public class EmptyMapExample2 {
    public static void main(String[] args) {
        Map<Integer, String> emptyMap = Collections.emptyMap();
        emptyMap.put(1, "apple"); // 수정 시도
    }
}실행 결과 (예외 발생)
Exception in thread "main" java.lang.UnsupportedOperationException👉 요소 추가, 삭제, 변경 모두 불가능합니다.
3. 활용 예시
- 메서드 반환값: 데이터가 없을 때 null대신 반환
- 안전한 초기화: 빈 맵으로 시작하면서 불변성을 보장
- 불변 컬렉션 활용: 읽기 전용 빈 맵이 필요할 때
4. 주의할 점
- Collections.emptyMap()은 항상 같은 인스턴스를 반환합니다. (싱글톤)
- 객체 생성 비용이 없어 성능과 메모리 효율이 뛰어납니다.
- 자바 9 이상에서는 Map.of()도 사용 가능하며, 빈 맵도 생성할 수 있습니다. (Map.of())
5
. 정리
- Collections.emptyMap()
 👉 아무 요소도 없는 불변 Map 반환
- 수정 시도 시 UnsupportedOperationException발생
- null대신 반환하면 NPE를 예방할 수 있음
👉 값이 없는 Map을 반환할 때는 null 대신 Collections.emptyMap()을 쓰자!
반응형
    
    
    
  'IT > Java' 카테고리의 다른 글
| [Java 기초] Collections.singletonMap()으로 단일 요소 불변 Map 만들기 (0) | 2025.09.08 | 
|---|---|
| [Java 기초] Collections.singleton()으로 단일 요소 불변 Set 만들기 (0) | 2025.09.07 | 
| [Java 기초] Collections.emptySet()으로 비어있는 불변 Set 만들기 (0) | 2025.09.06 | 
| [Java 기초] Collections.emptyList()로 비어있는 불변 리스트 만들기 (0) | 2025.09.06 | 
| [Java 기초] Collections.singletonList()로 단일 요소 불변 리스트 만들기 (0) | 2025.09.05 | 
                              Comments