Java - 문제 미리보기

문제 2375

medium
다음 코드에서 빈칸에 들어갈 적절한 메서드는?
```java
Map<String, String> userInfo = new HashMap<>();
userInfo.put("user1", "Alice");
userInfo.put("user2", "Bob");

if (userInfo.______("user3")) {
System.out.println("사용자 존재");
} else {
System.out.println("사용자 없음"); // 이 부분이 실행됨
}
```
A. `hasKey`
B. `contains`
C. `containsKey`
D. `exists`

정답: C



Map에서 특정 키의 존재 여부를 확인하는 메서드는 `containsKey()`입니다.

Map의 존재 확인 메서드들:
⦁ `containsKey(key)`: 키 존재 여부 확인 (boolean 반환)
⦁ `containsValue(value)`: 값 존재 여부 확인 (boolean 반환)

코드 분석:
1. `userInfo.put("user1", "Alice")` → "user1" 키 추가
2. `userInfo.put("user2", "Bob")` → "user2" 키 추가
3. `userInfo.containsKey("user3")` → false 반환 ("user3" 키 없음)
4. else 블록 실행 → "사용자 없음" 출력

안전한 Map 사용 패턴:
```java
// 방법 1: containsKey() 사용
if (map.containsKey("key")) {
String value = map.get("key");
// 값 사용
}

// 방법 2: null 체크
String value = map.get("key");
if (value != null) {
// 값 사용
}

// 방법 3: getOrDefault() 사용 (Java 8+)
String value = map.getOrDefault("key", "기본값");
```

💡 학습 팁

이 문제를 포함한 Java 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.