import java.util.Iterator;
import java.util.Map;
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// 与えられた整数型のキーと値からなるマップ ageMap
Map<String, Integer> ageMap = new HashMap<>();
ageMap.put("Alice", 25);
ageMap.put("Bob", 30);
ageMap.put("Charlie", 25);
ageMap.put("David", 40);
ageMap.put("Eva", 30);
// 特定の値を持つエントリを削除
removeEntriesByValue(ageMap, 25);
// 結果を表示
System.out.println("削除後のマップ: " + ageMap);
}
// 特定の値を持つエントリを削除するメソッド
private static void removeEntriesByValue(Map<String, Integer> map, int valueToRemove) {
// イテレータを使用してエントリを反復処理
Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Integer> entry = iterator.next();
// 特定の値を持つエントリを削除
if (entry.getValue() == valueToRemove) {
// イテレータを使用してエントリを削除
iterator.remove();
System.out.println("削除されたエントリ: " + entry.getKey() + " - " + entry.getValue());
}
}
}
}
このコードでは、removeEntriesByValue
メソッドを使用して特定の値を持つエントリを削除しています。イテレータを使用してマップのエントリを反復処理し、特定の値と一致するエントリを見つけたら、イテレータを介してそのエントリを削除しています。