gpt4 book ai didi

Java 从 ConcurrentHashMap 中删除特定项

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:00:30 25 4
gpt4 key购买 nike

使用 remove() 方法可以吗?我读过一篇文章说同步没有被添加到 remove 方法中。如何从 ConcurrentHashMap 中正确删除特定项?

示例代码:

    ConcurrentHashMap<String,Integer> storage = new ConcurrentHashMap<String,Integer>();
storage.put("First", 1);
storage.put("Second", 2);
storage.put("Third",3);


//Is this the proper way of removing a specific item from a tread-safe collection?
storage.remove("First");

for (Entry<String, Integer> entry : storage.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
// ...
System.out.println(key + " " + value);
}

最佳答案

一个 Iterator 应该做的工作:

Iterator<Map.Entry<String, Integer>> iterator = storage.entrySet().iterator();
while(iterator.hasNext())
{
Map.Entry<String, Integer> entry = iterator.next();
if(entry.getKey().equals("First"))
{
iterator.remove();
}
}

引用: https://dzone.com/articles/removing-entries-hashmap

关于Java 从 ConcurrentHashMap 中删除特定项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27867990/

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