Java Hashmap迭代获取KeySet

时间:2015-01-25 05:53:21

标签: java loops hashmap maps key

因此,在我的Java程序中,当程序即将关闭时,我会遍历整个Hashmap,同时获取要存储到文件中的键和值。

我想知道如何获取密钥,目前它遍历Hashmap并且只获取值。

有问题的代码:

public HashMap<String, Integer> timers = new HashMap<String, Integer>();       
for(int times : timers.values()){
       int playerTime = times;
}

4 个答案:

答案 0 :(得分:0)

试试这个

    for (Entry<String, Integer> e : timers.entrySet()) {
        String key = e.getKey();
        Integer value = e.getValue();
    }

答案 1 :(得分:0)

使用条目集检索条目并迭代条目集。

http://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html#entrySet()

答案 2 :(得分:0)

您可以使用entrySet方法获取每个条目保存键和值,并可以迭代该组,如下所示:

 Map<String, Integer> timers = new HashMap<String, Integer>();
 for (Map.Entry<String, Integer> entry : map.entrySet()) {
    System.out.println(entry.getKey());
    System.out.println(entry.getValue());
}

或者,如果你想重复遍历键,你可以使用keySet方法(就像迭代值一样)并迭代一个hashmap的键,如:

 Map<String, Integer> timers = new HashMap<String, Integer>();
 for (String key : map.keySet()) {
    System.out.println(key);
    System.out.println(map.get(key));//will print value associated with key
}

答案 3 :(得分:0)

我建议流式传输entrySet

timers.entrySet().stream()
  .forEach(entry -> storeTimer(entry.getKey(), entry.getValue());