gpt4 book ai didi

Java:如何从不基于键的 HashMap 中正确删除值

转载 作者:行者123 更新时间:2023-11-29 08:40:12 25 4
gpt4 key购买 nike

我有一个 Singleton里面有一个 HashMap 的类。 HashMap 由 String 组成和 Set<String> :

private Map<String, Set<String>> mMap = new HashMap<>();

我想达到什么目的?

从所有 Set 中删除给定项目Map 中的值.例如:

mMap.put(keyName, new HashSet<String>())
....
mViewsSwipeStates.get(keyName).add("1");
mViewsSwipeStates.get(keyName).add("2");
mViewsSwipeStates.get(keyName).add("3");
....
//Remove an item from the set
mMap.values().remove("3"); //Does not work

Set 中移除项目的正确方法是什么? ?

最佳答案

我假设您想从 Map 的所有值中删除 productCode(而不仅仅是从特定键的值中删除)。

您必须遍历 Map 的所有值,并从每个值中移除所需的元素:

mMap.values().forEach(v->v.remove(productCode));

此代码假定 Map 中没有空值。

编辑:

在 Java 7 中你可以这样写:

for (Set<String> value : mMap.values()) {
value.remove(productCode);
}

关于Java:如何从不基于键的 HashMap 中正确删除值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40845074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com