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 }
  • 相关阅读:
    (二)ElasticSearch-Rest命令操作
    (一)ElasticSearch介绍
    (四)SpringCloudAlibaba处理分布式事务-Seata
    网络设备及组网知识
    GITLAB使用
    Ionic APP开发
    开发工具快捷键大全
    web socket接口测试 Jmeter压力测试工具
    VMware Workstation pro无法在Windows上运行,检查可在Windows上运行的此应用的更新版本
    克隆管理员账号
  • 原文地址:https://www.cnblogs.com/microsoftjava/p/5868735.html
Copyright © 2011-2022 走看看