请原谅我是 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/