我有一个 Map 和一个 HashSet。 目标是根据 Map 检查 Set 的内容,如果元素在 HashSet 中但不在 Map 中,则将其添加到 Map 中。
// Map is defined in a class
private final Map<String, A> sb = new ConcurrentHashMap<>();
public void someMethod() {
Set<A> hSet = new HashSet<>();
for (A a : ab){
hSet.add(a..a...);
// Check if all elements added to hash Set are there in a Map
// if not present, add it to Map
}
}
最佳答案
如果您想在 map 值中搜索:
if(!map.values().contains(a))
// put a in the map
如果你想找 key
if(!map.containsKey(a))
// put a in the map
请记住,包含调用 equals,因此在您的 A 类中您必须实现 hashCode 和 equals。
关于java - 将 HashSet 的内容与 map 进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56246805/