【问题标题】:Getting the key and its specific value from map从地图中获取密钥及其特定值
【发布时间】:2012-11-13 01:54:17
【问题描述】:

我使用地图如下

Map<String, String> propMap = new LinkedHashMap<String, String>();

我看到有两种方法可以使用keySet()(获取键列表) 和值来获取值列表,但我的问题是如何在它们之间建立联系 例如 key1 的值为 2。

我想像下面这样使用获取值

    Map<String, String> propMap2 = propterm.getPropMap();
    Set<String> keySet = propMap2.keySet();

但我如何将其与他各自的价值联系起来?

【问题讨论】:

    标签: java map set


    【解决方案1】:

    如果你想使用每一对keyvalue,你可以使用propMap.entrySet()方法,它返回key, value中的Map.Entry:-

    for (Map.Entry<String, String> entry: propMap.entrySet()) {
        System.out.println(entry.getKey() + " : " + entry.getValue());
    }
    

    或者,如果您想知道如何使用propMap.keySet() 执行此操作,您可以遍历您获得的Set&lt;Key&gt;,并为每个键使用propMap.get(key),以获取特定键的值:-

    Set<String> keySet = propMap2.keySet();
    
    for (String key: keySet) {
        System.out.println(propMap.get(key));
    }
    

    来自this post的回答:-

    使用后一种方法,如果您经常访问 key-value 对,那么对于每个键,都会调用 map.get() 方法,在 HashMap 的情况下,需要 hashCode() 和评估key 对象的equals() 方法以找到关联的值*。在第一种情况(entrySet) 中,消除了额外的工作。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-21
    • 2022-11-10
    • 1970-01-01
    相关资源
    最近更新 更多