반응형
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
- ArrayList
- 이탈리아
- input
- HashMap
- 배열
- 자바스크립트
- json
- html
- 인텔리제이
- replace
- js
- string
- list
- 이클립스
- javascript
- Array
- 자바
- 정규식
- Eclipse
- date
- Visual Studio Code
- CMD
- vscode
- CSS
- map
- 문자열
- Java
- table
- Button
- IntelliJ
Archives
- Today
- Total
어제 오늘 내일
[Java HashMap] remove() 메소드 정리 및 활용 본문
HashMap의 remove() 메소드는 특정 키를 삭제할 때 사용합니다.
Java 8부터는 조건부 삭제 기능도 제공되어 더욱 유용합니다.
1. 기본 remove(Object key)
import java.util.HashMap;
public class HashMapRemoveBasic {
public static void main(String[] args) {
HashMap<String, Integer> scores = new HashMap<>();
scores.put("kim", 90);
scores.put("lee", 80);
Integer removed = scores.remove("kim");
System.out.println("삭제된 값 = " + removed); // 90
System.out.println(scores); // {lee=80}
}
}존재하는 키를 삭제하면 삭제된 값을 반환하고, 없으면 null을 반환합니다.
2. 조건부 remove(Object key, Object value)
import java.util.HashMap;
public class HashMapRemoveConditional {
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<>();
map.put("user1", "admin");
map.put("user2", "guest");
boolean result1 = map.remove("user1", "admin"); // 조건 일치 → 삭제
boolean result2 = map.remove("user2", "admin"); // 조건 불일치 → 삭제 실패
System.out.println(result1); // true
System.out.println(result2); // false
System.out.println(map); // {user2=guest}
}
}키와 값이 모두 일치할 때만 삭제됩니다. 멀티스레드 환경에서 안전하게 조건 삭제할 때 유용합니다.
3. 활용 예제: 캐시 무효화
import java.util.*;
public class HashMapRemoveCache {
public static void main(String[] args) {
Map<String, String> cache = new HashMap<>();
cache.put("session1", "active");
cache.put("session2", "expired");
// 조건부 삭제: 세션 상태가 expired인 경우만 제거
cache.remove("session2", "expired");
System.out.println(cache); // {session1=active}
}
}조건부 삭제를 이용하면 원하는 상태일 때만 안전하게 데이터를 제거할 수 있습니다.
결론
remove(key)→ 키만 기준으로 삭제, 삭제된 값 반환remove(key, value)→ 키와 값이 모두 일치해야 삭제, 성공 여부(boolean) 반환- 조건부 삭제는 동시성 문제나 캐시 무효화 같은 시나리오에서 유용
반응형
'IT > Java' 카테고리의 다른 글
| [Java HashMap] compute(), computeIfAbsent(), computeIfPresent() 메소드 정리 (0) | 2025.10.16 |
|---|---|
| [Java HashMap] replace()와 replaceAll() 메소드 정리 (0) | 2025.10.12 |
| [Java HashMap] putIfAbsent() 메소드 활용법 (0) | 2025.10.11 |
| [Java HashMap] get() vs getOrDefault() 차이와 활용법 (0) | 2025.10.10 |
| [Java HashSet] 정렬 방법과 활용 예제 (0) | 2025.10.10 |
Comments