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("사용자 없음"); // 이 부분이 실행됨
}
```
```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("사용자 없음"); // 이 부분이 실행됨
}
```
정답: 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 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.