如何在HashMap
上执行设置操作,例如Collections.addAll()
?
答案 0 :(得分:3)
根据您对所提问题的评论,我认为您真正需要的是Set not a Map。
尝试
Set<String> mySet = new HashSet<String>();
mySet.addAll(...);
如果存在值,请使用mySet.contains("someString");
快速确定。它应该等同于你似乎想要做的事情。
答案 1 :(得分:2)
通过例如Map.putAll
。
您也可以直接对可以通过Map.entrySet
获取的地图条目集进行设置操作。
返回此映射中包含的映射的Set视图。 该集由地图支持,因此对地图的更改会反映在集中,反之亦然。
答案 2 :(得分:1)
答案 3 :(得分:1)
您可以执行
等操作Map<String, String> map = new HashMap<String, String>();
Set<String> set = map.keySet();
for(String s: set);
set.retainAll(set2); // keeps the keys in set2
set.removeAll(set3); // removes the keys in set3
set.remove(s);
您还可以在集中转换地图。没有ConcurrentHashSet,但你可以做
Set<String> set = Collections.setFromMap(new ConcurrentHashMap<String, Boolean>());