Java,确定 HashMap 中是否有任何值与值匹配的最快方法?

标签 java dataset hashmap

请原谅我是 Java 新手,因为我经验不足,不知道最有效的方法。我有一个如下所示的 HashMap ,但它可能有 40,000 个条目:

Map <String, String> someHashmap = new HashMap <String, String> ();
someHashmap.put("filepath1", null);
someHashmap.put("filepath2", "tag1");
someHashmap.put("filepath3", "tag2");

我想确定有多少值与 null 匹配,以便我可以确定是否有任何值是 null。当然我可以做一个常规循环来检查,但我想知道是否有更有效的方法,谢谢

最佳答案

您可以使用 containsValue方法,其中指出:

Returns true if this map maps one or more keys to the specified value.

somHashmap.containsValue(null);

但是请记住,如果你有一个大数据集(看起来你有),你应该创建一个单独的数据结构来跟踪允许 O(1) 查找时间的值,而不是 O( n) 时间,如其他答案中所建议的那样。

关于Java,确定 HashMap 中是否有任何值与值匹配的最快方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5721084/

相关文章:

java - 如何使用Spring Security同时保护2条路径?

java - 从 Java 类生成 JSON 示例

python - 计算 xarray 数据集的平方根误差

wcf - 使用 DataContractSerializer 序列化 DataSet 时保留 DataRowState

reporting-services - 获取SSRS中数据集的SQL脚本

Java 打印我所有的 map 键和值

java - 使用 Map<String, Map<String, Long>> 写入文件时出现问题

Java 10,Intellij 警告(类未导出,在同一模块中访问)

java - 包与 Java 9 中的自动模块冲突

java - Android 在用户使用 HashMap TransactionTooLargeException 加载 MainActivity 之前在预览屏幕上传递大数据