Java Hashmap。如何从值中获取键?
如果我有一个值"foo"
,和一个HashMap<String> ftw
,其中ftw.containsValue("foo")
返回true
,我怎样才能得到相应的键?我必须在hashhmap中进行循环吗?最好的方法是什么?
425
3
如果我有一个值"foo"
,和一个HashMap<String> ftw
,其中ftw.containsValue("foo")
返回true
,我怎样才能得到相应的键?我必须在hashhmap中进行循环吗?最好的方法是什么?
没有明确的答案,因为多个键可以映射到同一个值。 如果你要用自己的代码强制执行唯一性,最好的解决办法是创建一个使用两个Hashmaps的类来跟踪两个方向的映射情况。
要找到映射到该值的所有键,请使用
map.entrySet()
遍历hashmap中的所有配对。听起来最好的方法是你用
map.entrySet()
遍历条目,因为map.containsValue()
可能无论如何都要这样做。