HashMapから特定の要素(key、value)を削除する方法を紹介します。
1. remove()で特定の要素を削除する
HashMap.remove()
は引数に渡されたキーを HashMap から削除し、削除された要素の value を返します。
削除したいキーが存在しない場合は、nullを返して終了します。 remove()
は key でのみ削除が可能であり、 value で特定の要素を削除することはできません。
以下の例は、HashMapから要素を削除する例です。
import java.util.HashMap;
public class Example {
public static void main(String[] args) {
HashMap<String, Integer> fruits = new HashMap<>();
fruits.put("apple", 100);
fruits.put("kiwi", 200);
fruits.put("grape", 300);
Integer deleted = fruits.remove("kiwi");
System.out.println("HashMap: " + fruits);
System.out.println("Deleted: " + deleted);
}
}
Output:
HashMap: {apple=100, grape=300}
Deleted: 200
1.1 remove() で存在しない要素を削除したとき
remove()
の引数として存在しない要素のキーを渡すと、何も削除せずに null を返します。
import java.util.HashMap;
public class Example {
public static void main(String[] args) {
HashMap<String, Integer> fruits = new HashMap<>();
fruits.put("apple", 100);
fruits.put("kiwi", 200);
fruits.put("grape", 300);
Integer deleted = fruits.remove("kawa");
System.out.println("HashMap: " + fruits);
System.out.println("Deleted: " + deleted);
}
}
Output:
HashMap: {apple=100, kiwi=200, grape=300}
Deleted: null
2. removeIf() で特定の要素を削除する
HashMap.entrySet().removeIf()
で特定の条件の要素を削除できます。
削除が成功すると、 removeIf()
は true を返します。
removeIf()
を使うと、特定の key または value を見つけて削除できます。
2.1 keyで要素を削除する
次の例では、keyがkiwi
の要素を削除します。 Entry.getKey()
は要素のキーを返し、これを比較して削除対象を見つけることができます。
import java.util.HashMap;
public class Example {
public static void main(String[] args) {
HashMap<String, Integer> fruits = new HashMap<>();
fruits.put("apple", 100);
fruits.put("kiwi", 200);
fruits.put("grape", 300);
boolean removed = fruits.entrySet().removeIf(
entry -> entry.getKey().equals("kiwi"));
System.out.println("HashMap: " + fruits);
System.out.println("removed: " + removed);
}
}
Output:
HashMap: {apple=100, grape=300}
removed: true
2.2 valueで要素を削除する
以下の例は、valueが 200
の要素を削除します。 Entry.getValue()
は要素の value を返し、これを比較して削除対象を見つけることができます。
import java.util.HashMap;
public class Example {
public static void main(String[] args) {
HashMap<String, Integer> fruits = new HashMap<>();
fruits.put("apple", 100);
fruits.put("kiwi", 200);
fruits.put("grape", 300);
boolean removed = fruits.entrySet().removeIf(
entry -> entry.getValue().equals(200));
System.out.println("HashMap: " + fruits);
System.out.println("removed: " + removed);
}
}
Output:
HashMap: {apple=100, grape=300}
removed: true
3. removeAll() で特定の要素を削除する
removeAll()
は引数に渡される Collection の要素を HashMap から削除します。削除に成功すると、removeAll()はtrueを返します。
3.1 keyで要素を削除する
HashMap.keySet()
は要素のすべてのキーを返し、この Collection で removeAll()
を使って一致するキーの要素を削除することができます。
以下の例は、HashMapでkeyが grape
、 apple
の要素を見つけて削除します。
import java.util.Arrays;
import java.util.HashMap;
public class Example {
public static void main(String[] args) {
HashMap<String, Integer> fruits = new HashMap<>();
fruits.put("apple", 100);
fruits.put("kiwi", 200);
fruits.put("grape", 300);
boolean removed = fruits.keySet().removeAll(Arrays.asList("grape", "apple"));
System.out.println("HashMap: " + fruits);
System.out.println("removed: " + removed);
}
}
Output:
HashMap: {kiwi=200}
removed: true
3.2 valueで要素を削除する
HashMap.values()
は要素のすべての value を返し、この Collection で removeAll()
を使用して一致するキーの要素を削除できます。
以下の例は、HashMapでvalueが 100
、 300
の要素を見つけて削除します。
import java.util.Arrays;
import java.util.HashMap;
public class Example {
public static void main(String[] args) {
HashMap<String, Integer> fruits = new HashMap<>();
fruits.put("apple", 100);
fruits.put("kiwi", 200);
fruits.put("grape", 300);
boolean removed = fruits.values().removeAll(Arrays.asList(100, 300));
System.out.println("HashMap: " + fruits);
System.out.println("removed: " + removed);
}
}
Output:
HashMap: {kiwi=200}
removed: true
Related Posts
- Java - BufferedReaderでファイルを読む
- Java - BufferedWriterでファイルを書き込む
- Java - BigIntegerの範囲、比較、演算、キャスト
- Java charAt()関数を学ぶ
- Java contains()で文字(大文字と小文字のX)を含める
- Java - Set(HashSet)を配列に変換する
- Java - 文字列の最初の文字、最後の文字を確認する
- Java - 文字列を1文字ずつ切り捨てる
- Java - 文字列の単語数を取得する
- Java - 1秒ごとに繰り返し実行
- Java - 配列をSet(HashSet)に変換する
- Java - 複数のSet(HashSet)を組み合わせる
- Java - コマンドライン引数の入力を受け取る
- Java - リスト逆順に巡回、3つの方法
- Java - 特定の条件でリストをフィルタリングする3つの方法
- Java - HashMapすべての要素の合計、平均計算
- Java - 特定の条件でHashMapをフィルタリングする
- Java - シングルトンパターンの実装
- Java - 数字の左側にゼロを埋める
- Java - String配列の初期化方法
- Java - ソートされた順序で Map(HashMap) 巡回