JavaHashmap:如何从值中获取密钥?

JavaHashmap:如何从值中获取密钥?

如果我有这个价值"foo",以及HashMap<String> ftw对此ftw.containsValue("foo")回报true如何获得相应的密钥?我必须遍历hashmap吗?最好的方法是什么?



桃花长相依
浏览 549回答 3
3回答

白衣非少年

public&nbsp;class&nbsp;NewClass1&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Map<Integer,&nbsp;String>&nbsp;testMap&nbsp;=&nbsp;new&nbsp;HashMap<Integer,&nbsp;String>(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;testMap.put(10,&nbsp;"a"); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;testMap.put(20,&nbsp;"b"); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;testMap.put(30,&nbsp;"c"); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;testMap.put(40,&nbsp;"d"); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(Entry<Integer,&nbsp;String>&nbsp;entry&nbsp;:&nbsp;testMap.entrySet())&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(entry.getValue().equals("c"))&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(entry.getKey()); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;}}一些额外的信息.。可能对你有用如果您的hashmap真的很大,上述方法可能不是很好。如果您的hashmap包含到唯一值映射的唯一键,则可以再维护一个包含从值到键的映射的hashmap。也就是说,您必须维护两个hashmap。1.&nbsp;Key&nbsp;to&nbsp;value2.&nbsp;Value&nbsp;to&nbsp;key在这种情况下,您可以使用第二个hashmap获取密钥。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java