zoukankan      html  css  js  c++  java
  • HashMap集合类 5种最佳遍历方式

    1. 使用 Iterator 遍历 HashMap EntrySet

     

    2. 使用 Iterator 遍历 HashMap KeySet

     

    3. 使用 For-each 循环迭代 HashMap

     

    4. 使用 Lambda 表达式遍历 HashMap

     

    5. 使用 Stream API 遍历 HashMap

     

    显示例子:

     

    1. 使用 Iterator 遍历 HashMap EntrySet

    package com.jia.map;
    
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    
    
    public class HashMapDemo {
    
        public static void main(String[] args) {
    
            Map<Integer,String> map = new HashMap<>();
            map.put(1,"java");
            map.put(2,"c");
            map.put(3,"c++");
            map.put(4,"c#");
            map.put(5,"spring");
        
            Iterator<Map.Entry<Integer, String>> iterator = map.entrySet().iterator();
            while (iterator.hasNext()){
                Map.Entry<Integer, String> entry = iterator.next();
                System.out.println(entry.getKey() + ":" + entry.getValue());
    
            }
        }
    }

    Output:

    1:java
    2:c
    3:c++
    4:c#
    5:spring
    
    Process finished with exit code 0

    2. 使用 Iterator 遍历 HashMap KeySet

    package com.jia.map;
    
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    
    
    public class HashMapDemo02 {
        
        public static void main(String[] args) {
            
            Map<Integer,String> map = new HashMap<>();
            map.put(1,"java");
            map.put(2,"c");
            map.put(3,"c++");
            map.put(4,"c#");
            map.put(5,"spring");
    
            Iterator<Integer> iterator = map.keySet().iterator();
            while (iterator.hasNext()){
                Integer key = iterator.next();
                System.out.println(key);
                System.out.println(map.get(key));
            }
        }
    }

    Output:

    1
    java
    2
    c
    3
    c++
    4
    c#
    5
    spring
    
    Process finished with exit code 0

    3. 使用 For-each 循环遍历 HashMap

    package com.jia.map;
    
    import java.util.HashMap;
    import java.util.Map;
    
    
    public class HashMapDemo03 {
    
        public static void main(String[] args) {
    
            Map<Integer,String> map = new HashMap<>();
            map.put(1,"java");
            map.put(2,"c");
            map.put(3,"c++");
            map.put(4,"c#");
            map.put(5,"spring");
    
            for (Map.Entry<Integer, String> entry : map.entrySet()) {
                System.out.println(entry.getKey() + ":" + entry.getValue());
            }
        }
    }

    Output:

    1:java
    2:c
    3:c++
    4:c#
    5:spring
    
    Process finished with exit code 0

    4. 使用 Lambda 表达式遍历 HashMap(推荐!!!

    package com.jia.map;
    
    import java.util.HashMap;
    import java.util.Map;
    
    
    public class HashMapDemo04 {
    
        public static void main(String[] args) {
    
            Map<Integer,String> map = new HashMap<>();
            map.put(1,"java");
            map.put(2,"c");
            map.put(3,"c++");
            map.put(4,"c#");
            map.put(5,"spring");
    
            map.forEach((key,value) ->{
                System.out.println(key + ":" + value);
            });
        }
    }

    Output:

    1:java
    2:c
    3:c++
    4:c#
    5:spring
    
    Process finished with exit code 0

    5. 使用 Stream API 遍历 HashMap(推荐!!!

    package com.jia.map;
    
    import java.util.HashMap;
    import java.util.Map;
    
    
    public class HashMapDemo05 {
    
        public static void main(String[] args) {
    
            Map<Integer,String> map = new HashMap<>();
            map.put(1,"java");
            map.put(2,"c");
            map.put(3,"c++");
            map.put(4,"c#");
            map.put(5,"spring");
    
            map.entrySet().stream().forEach((entry) ->{
                System.out.println(entry.getKey() + ":" + entry.getValue());
            });
        }
    }

    Output:

    1:java
    2:c
    3:c++
    4:c#
    5:spring
    
    Process finished with exit code 0
  • 相关阅读:
    [转载]从程序员到项目经理:思维一换天地宽
    针对后台TCP服务F5健康检查配置
    [转载]生活在 Emacs 中
    [转载]为何 Emacs 和 Vim 被称为两大神器
    Emacs文件命令
    功能点估算速记
    [转载]CMMI之功能点估算法:EI、EQ和EO
    一些有用的 Emacs 配置(窗口快速切换、一键透明效果、任意位置删除整行等)
    refiling失败报错Invalid function: org-preserve-local-variables
    Cognos定时Email发送报表数据功能
  • 原文地址:https://www.cnblogs.com/luckyjcx/p/12642853.html
Copyright © 2011-2022 走看看