为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

桃花长相依 2019-06-20 10:56:16
JavaHashmap:如何从值中获取密钥?如果我有这个价值"foo",以及HashMap<String> ftw对此ftw.containsValue("foo")回报true如何获得相应的密钥?我必须遍历hashmap吗?最好的方法是什么?
查看完整描述

3 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

public class NewClass1 {

    public static void main(String[] args) {
       Map<Integer, String> testMap = new HashMap<Integer, String>();
        testMap.put(10, "a");
        testMap.put(20, "b");
        testMap.put(30, "c");
        testMap.put(40, "d");
        for (Entry<Integer, String> entry : testMap.entrySet()) {
            if (entry.getValue().equals("c")) {
                System.out.println(entry.getKey());
            }
        }
    }}

一些额外的信息.。可能对你有用

如果您的hashmap真的很大,上述方法可能不是很好。如果您的hashmap包含到唯一值映射的唯一键,则可以再维护一个包含从值到键的映射的hashmap。

也就是说,您必须维护两个hashmap。

1. Key to value2. Value to key

在这种情况下,您可以使用第二个hashmap获取密钥。


查看完整回答
反对 回复 2019-06-20
  • 3 回答
  • 0 关注
  • 546 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信