java - 检查 hashmap 中的值是否已经存在

标签 java hashmap duplicates

我创建了一个包含字符串值的 hashMap。我希望每次添加一个新值来映射时检查 hashmap 中是否已经存在。我已经定义了

final HashMap<String, String> map = new HashMap<String, String>(); map.put(key, myURL.toString());

我如何遍历 hashmap 以检查是否存在重复项?

最佳答案

简单:

return map.containsValue(myURL.toString());

例如。或者,使用 java8 流:

return map.values().stream().anyMatch(v -> v.equals(myURL.toString()))

但是当您要求高效 解决方案时,我建议您使用老式的非流版本。因为第二个版本很可能使用明显更多的 CPU 周期。

只有当您的 map 有数以亿计 的条目,并且您只关注响应时间 时,才可能使用parallelStream() 可以提供您可以更快地回答。

关于java - 检查 hashmap 中的值是否已经存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23632529/

相关文章:

具有通用返回类的 Java 方法签名

java - 为什么我会收到此错误? (UIManager无法应用)

java - 在 Java 中删除数组中重复项的最佳方法是什么?

java - 除了在 JavaScript 等多范式/函数式语言中隐藏信息之外,闭包的真正值(value)主张是什么?

java - 如何清空特定的字符数组位置

hash - 如何搜索哈希表?

mysql select query from multiple tables 返回重复结果

sql - 通过读取一些 MySQL 转储来忽略 mysql 中的错误

java - 获取连接后执行启动语句

Java 遍历带有 HashMap 的 ArrayList