반응형
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 | 31 |
Tags
- vscode
- 정규식
- input
- IntelliJ
- 이탈리아
- json
- js
- 문자열
- table
- replace
- string
- CMD
- Eclipse
- ArrayList
- 자바
- map
- 자바스크립트
- Java
- 이클립스
- html
- list
- CSS
- 배열
- Visual Studio Code
- Array
- HashMap
- 인텔리제이
- date
- Button
- javascript
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] 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 |
[Java 컬렉션] HashMap vs HashSet vs TreeSet 비교 (0) | 2025.10.09 |
Comments