How to Remove Items/Entries with Specific Values from Map/HashMa
- Time:2020-09-07 12:13:31
- Class:Weblog
- Read:36

Java
In Java, you can usually remove items or entries with some specific value from Map or HashMap object using traditional method:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public Map<String, String> removeItemByValue(Map<String, String> data, String value) { for (var key: data.keySet()) { if (data.get(key) == null) { data.remove(key); } } return data; } var data = new HashMap<String, String>(); data.put("a", "1"); data.put("b", "2"); data.put("c", "2"); removeItemByValue(data, null); // only prints a = 1 for (var key: data.keySet()) { System.out.println(key + "=" + data.get(key)); } |
public Map<String, String> removeItemByValue(Map<String, String> data, String value) { for (var key: data.keySet()) { if (data.get(key) == null) { data.remove(key); } } return data; } var data = new HashMap<String, String>(); data.put("a", "1"); data.put("b", "2"); data.put("c", "2"); removeItemByValue(data, null); // only prints a = 1 for (var key: data.keySet()) { System.out.println(key + "=" + data.get(key)); }
A Better Map-Item Removal Approach via using values()
The values() method in Map object actually returns a Collection view of the valujes that are contained in the map object. And the remove object return null when the item is not existent anymore. Thefore, we can use the following modern 1-liner in Java to remove the items in a Map that have the specific value.
1 2 3 4 | public Map<String, String> removeItemByValue(Map<String, String> data, String value) { while (data.values().remove(value)) ; return data; } |
public Map<String, String> removeItemByValue(Map<String, String> data, String value) { while (data.values().remove(value)) ; return data; }
To double check and verify that items are actually removed:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | package com.helloacm; import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) { var data = new HashMap<String, String>(); data.put("a", "b"); data.put("e", "2"); data.put("f", "2"); while (data.values().remove("2")); // prints "a" for (Map.Entry<String, String> entry: data.entrySet()) { System.out.println(entry.getKey()); } } } |
package com.helloacm; import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) { var data = new HashMap<String, String>(); data.put("a", "b"); data.put("e", "2"); data.put("f", "2"); while (data.values().remove("2")); // prints "a" for (Map.Entry<String, String> entry: data.entrySet()) { System.out.println(entry.getKey()); } } }
–EOF (The Ultimate Computing & Technology Blog) —
Recommend:How to Find Positive Integer Solution for a Given Equation using
How to Implement the instanceof in Javascript?
Azerbaijani Blogger, Mehman Huseynov Sentenced To Prison For All
Fitness Blog Shows Us All How Transformation Photos Can Be Decei
StickPNG: A Blogger’s Haven For Personal Use Images
5 Tips for Getting More Experience in Your Blogging Niche
Right-Wing Blogger Milo Yiannopoulos Resigns From Breibart
Summits set epoch-making milestone in history of China-Arab ties
In the face of COVID-19 pandemic, China and Arab countries have
15 Macao residents qualify as candidates for deputies to nationa
- Comment list
-
- Comment add