【问题标题】:How can I get a key from a value in a HashMap?如何从 HashMap 中的值中获取键?
【发布时间】:2015-06-05 05:44:23
【问题描述】:

我在从特定值中查找键时遇到问题。

我知道反过来从键中查找值而不是从值中查找键。 我想我找到了很多解决方案,但我不太了解它们,你能帮我吗?

HashMap<Spielfeldposition, Integer> risikoregionen = new HashMap<Spielfeldposition, Integer>(); 

【问题讨论】:

  • 语言 ?您的 HashMap 示例?
  • Java。 HashMap risikoregionen = new HashMap();我们想通过检查最大值来找到键“Spielfeldposition”。

标签: java hashmap key-value


【解决方案1】:

对于 Java Collections API,您必须在将值插入映射时确保键和值之间的 1:1 关系。

然后您可以使用 entrySet() 来获取映射。然后就可以迭代values,得到对应的key了。

编辑

Iterator entries = myMap.entrySet().iterator();

while (entries.hasNext()) {

Entry thisEntry = (Entry) entries.next();
Object key;

if(yourvalue == thisEntry.getValue()){
key = thisEntry.getKey();

return key
// ...
}}

【讨论】:

  • 好的,你能给我们举个例子吗? Map risikoregionen= for(Spielfeldposition key : map.keySet()) { int value = map.get(key); } 喜欢吗?
【解决方案2】:

如果您还需要从值中获取键,那么您需要的数据结构可能是双向映射。问题 #770254,“How to create a 2 way map in java”,处理这个问题。

【讨论】:

    猜你喜欢
    • 2010-11-25
    • 2013-04-21
    • 2019-10-24
    • 1970-01-01
    • 2013-08-03
    • 2018-10-29
    • 2014-06-17
    • 1970-01-01
    相关资源
    最近更新 更多