从地图中获取密钥及其特定值

Posted

技术标签:

【中文标题】从地图中获取密钥及其特定值【英文标题】: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();

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

【问题讨论】:

【参考方案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) 中,消除了额外的工作。

【讨论】:

@Cratylus.. 看看这个帖子:-***.com/questions/3870064/…

以上是关于从地图中获取密钥及其特定值的主要内容,如果未能解决你的问题,请参考以下文章

仅当特定密钥对值与可迭代匹配时,才在 JSON 对象中获取多个 JSON 密钥对值

如何从 OnMarkerClickListener 内的 Firebase 数据库中获取特定值?

从 Map<String,List<String>> 获取密钥,知道列表值之一

使用特定城市的谷歌地图 API 获取自动完成的地址

从哈希表中获取特定密钥

使用jQuery从JSON树中读取特定值