Java Hashmap。如何从值中获取键?

如果我有一个值"foo",和一个HashMap<String> ftw,其中ftw.containsValue("foo")返回true,我怎样才能得到相应的键?我必须在hashhmap中进行循环吗?最好的方法是什么?

没有明确的答案,因为多个键可以映射到同一个值。 如果你要用自己的代码强制执行唯一性,最好的解决办法是创建一个使用两个Hashmaps的类来跟踪两个方向的映射情况。

评论(0)

要找到映射到该值的所有键,请使用map.entrySet()遍历hashmap中的所有配对。

评论(1)

听起来最好的方法是你用map.entrySet()遍历条目,因为map.containsValue()可能无论如何都要这样做。

评论(2)