zoukankan      html  css  js  c++  java
  • Java中Map集合的遍历方式

    方法一:在for-each循环中使用entries来遍历

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

    方法二:使用Iterator遍历

     1 Map<Integer, Integer> map = new HashMap<Integer, Integer>();
     2 
     3 Iterator<Map.Entry<Integer, Integer>> entries = map.entrySet().iterator();
     4 
     5 while (entries.hasNext()) {
     6 
     7     Map.Entry<Integer, Integer> entry = entries.next();
     8 
     9     System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
    10 
    11 }

    该方法还设计到一种设计模式,即迭代模式。该方法可以在遍历时调用iterator.remove()来删除entries。

    也可以不加入泛型:

     1 Map map = new HashMap();
     2 
     3 Iterator entries = map.entrySet().iterator();
     4 
     5 while (entries.hasNext()) {
     6 
     7     Map.Entry entry = (Map.Entry) entries.next();
     8 
     9     Integer key = (Integer)entry.getKey();
    10 
    11     Integer value = (Integer)entry.getValue();
    12 
    13     System.out.println("Key = " + key + ", Value = " + value);
    14 
    15 }

    方法三 通过键集合遍历值

    1 Map<Integer, Integer> map = new HashMap<Integer, Integer>();
    2 
    3 for (Integer key : map.keySet()) {
    4 
    5     Integer value = map.get(key);
    6 
    7     System.out.println("Key = " + key + ", Value = " + value);
    8 
    9 }

    该方法效率很低,不推荐使用

    方法四 values()方法

     1 Map<Integer, Integer> map = new HashMap<Integer, Integer>();
     2 
     3 
     4 for (Integer key : map.keySet()) {
     5 
     6     System.out.println("Key = " + key);
     7 
     8 }
     9 
    10 for (Integer value : map.values()) {
    11 
    12     System.out.println("Value = " + value);
    13 
    14 }
  • 相关阅读:
    圣诞放长假了
    设计模式Top10排行榜
    成长的烦恼
    小三的故事发家篇
    《家庭财务总管》升级(1.0.0.2)
    紧急项目处理方法
    隐身大法,使民无知
    如何维护自己文章的版权
    在深度学习的视觉VISION领域数据预处理的魔法常数magic constant、黄金数值: mean=[0.485, 0.456, 0.406],std=[0.229, 0.224, 0.225]
    ImageNet数据集下载
  • 原文地址:https://www.cnblogs.com/microsoftjava/p/5868735.html
Copyright © 2011-2022 走看看