从地图中删除条目而不进行迭代

2022-09-03 16:39:36

如何从Java中删除条目而不使用值或键进行迭代。基本上在我的地图中,我正在使用它来删除它。MapcontainsKey()map.remove()


答案 1

通过使用要删除的元素的键从映射中删除条目。

map.remove("aKey");

如果您不知道元素的键,则必须迭代以获取它,如下所示:

public static <T, E> Set<T> getKeysByValue(Map<T, E> map, E value) {
     Set<T> keys = new HashSet<T>();
     for (Entry<T, E> entry : map.entrySet()) {
         if (value.equals(entry.getValue())) {
             keys.add(entry.getKey());
         }
     }
     return keys;
} 

这将返回在地图上找到的所有键。


答案 2
Map<Integer, String> abcMap = new HashMap<Integer, String>();
abcMap.put(1,"A");
abcMap.put(2,"B");
abcMap.put(3,"C");

/// now for remove item
abcMap.remove(1);
// this will remove "A" from abcMap..