SeouliteLab

[Java/자바] HashMap에서 특정 key, value 삭제하기 본문

프로그래밍

[Java/자바] HashMap에서 특정 key, value 삭제하기

Seoulite Lab 2024. 3. 7. 09:13

Java의 HashMap 클래스는 키-값 쌍을 저장하고 관리하는 데 사용됩니다. 때로는 HashMap에서 특정한 키나 값이 필요하지 않을 때 해당 항목을 삭제해야 할 수 있습니다. 이 블로그 게시물에서는 Java에서 HashMap에서 특정 키나 값 또는 조건에 맞는 항목을 삭제하는 여러 가지 방법을 알아보겠습니다.

예제 1: remove() 메서드 사용하여 특정 key 제거

import java.util.HashMap;

HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 10);
map.put("banana", 20);
map.put("orange", 30);

map.remove("banana");
System.out.println(map);

위 예제는 HashMap의 remove() 메서드를 사용하여 특정 키를 삭제하는 방법을 보여줍니다. remove() 메서드는 해당 키가 HashMap에 존재하면 해당 항목을 제거합니다.

예제 2: Iterator 및 remove() 메서드를 사용하여 조건에 맞는 항목 삭제

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 10);
map.put("banana", 20);
map.put("orange", 30);

Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
    Map.Entry<String, Integer> entry = iterator.next();
    if (entry.getValue() > 20) {
        iterator.remove();
    }
}

System.out.println(map);

위 예제는 Iterator를 사용하여 HashMap을 순회하고, 조건에 맞는 항목을 삭제하는 방법을 보여줍니다. Iterator를 사용하여 순회하면서 remove() 메서드를 호출하여 조건에 맞는 항목을 안전하게 삭제할 수 있습니다.

예제 3: removeAll() 메서드를 사용하여 일치하는 값 제거

import java.util.HashMap;

HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 10);
map.put("banana", 20);
map.put("orange", 30);

map.values().removeAll(Collections.singleton(20));

System.out.println(map);

위 예제는 removeAll() 메서드를 사용하여 HashMap에서 일치하는 값(여기서는 20)에 해당하는 모든 항목을 제거하는 방법을 보여줍니다. removeAll() 메서드는 주어진 컬렉션에 있는 모든 요소를 제거합니다.