【问题标题】:Alternate for loop with hasmap in javajava中带有hashmap的循环替代方案
【发布时间】:2015-12-06 22:00:02
【问题描述】:

我有一个 for each 循环运行:

for (System system : val.keySet()) 
{
   do something
}

有没有替代的方法来写这个?

【问题讨论】:

    标签: java for-loop hashmap


    【解决方案1】:

    您可以通过以下方式循环访问map

    1- 使用 for-Each 循环:

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

    2- 迭代键或值

    Map<Integer, Integer> map = new HashMap<Integer, Integer>();
    
    //iterating over keys only
    for (Integer key : map.keySet()) {
        System.out.println("Key = " + key);
    }
    
    //iterating over values only
    for (Integer value : map.values()) {
        System.out.println("Value = " + value);
    }
    

    3- 使用iterator

    Map<Integer, Integer> map = new HashMap<Integer, Integer>(); 
    Iterator<Map.Entry<Integer, Integer>> entries = map.entrySet().iterator(); 
    
    while (entries.hasNext()) {
        Map.Entry<Integer, Integer> entry = entries.next();
        System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); 
    }
    

    【讨论】:

      猜你喜欢
      • 2014-12-26
      • 2020-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-14
      • 2015-07-30
      • 2019-02-15
      相关资源
      最近更新 更多