• 在 Java 中遍历 HashMap 的5种最佳方式


    原文地址:https://www.javaguides.net/2020/03/5-best-ways-to-iterate-over-hashmap-in-java.html

    作者:Ramesh Fadatare

    翻译:高行行

    在本文中,我们将通过示例讨论在 Java 上遍历  HashMap  的五种最佳方式。

    1. 使用  Iterator  遍历 HashMap EntrySet
    2. 使用  Iterator  遍历 HashMap KeySet
    3. 使用 For-each 循环迭代  HashMap
    4. 使用  Lambda 表达式遍历  HashMap
    5. 使用  Stream API  遍历 HashMap

    通过  https://www.javaguides.net/2018/07/java-8-lambda-expressions.html 了解有关 lambda 表达式的信息

    1. 使用 Iterator 遍历 HashMap EntrySet

    package com.java.tutorials.iterations;
    
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Map.Entry;
    
    /**
     * 在 Java 中遍历 HashMap 的5种最佳方式
     * @author Ramesh Fadatare
     *
     */
    public class IterateHashMapExample {
        public static void main(String[] args) {
            // 1. 使用 Iterator 遍历 HashMap EntrySet
            Map < Integer, String > coursesMap = new HashMap < Integer, String > ();
            coursesMap.put(1, "C");
            coursesMap.put(2, "C++");
            coursesMap.put(3, "Java");
            coursesMap.put(4, "Spring Framework");
            coursesMap.put(5, "Hibernate ORM framework");
    
            Iterator < Entry < Integer, String >> iterator = coursesMap.entrySet().iterator();
            while (iterator.hasNext()) {
                Entry < Integer, String > entry = iterator.next();
                System.out.println(entry.getKey());
                System.out.println(entry.getValue());
            }
        }
    }
    

    Output:

    1
    C
    2
    C++
    3
    Java
    4
    Spring Framework
    5
    Hibernate ORM framework
    

    2. 使用 Iterator 遍历 HashMap KeySet

    package com.java.tutorials.iterations;
    
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    
    /**
     * 在 Java 中遍历 HashMap 的5种最佳方式
     * @author Ramesh Fadatare
     *
     */
    public class IterateHashMapExample {
        public static void main(String[] args) {
            Map < Integer, String > coursesMap = new HashMap < Integer, String > ();
            coursesMap.put(1, "C");
            coursesMap.put(2, "C++");
            coursesMap.put(3, "Java");
            coursesMap.put(4, "Spring Framework");
            coursesMap.put(5, "Hibernate ORM framework");
    
            // 2. 使用 Iterator 遍历 HashMap KeySet
            Iterator < Integer > iterator = coursesMap.keySet().iterator();
            while (iterator.hasNext()) {
                Integer key = iterator.next();
                System.out.println(key);
                System.out.println(coursesMap.get(key));
            }
        }
    }
    

    Output:

    1
    C
    2
    C++
    3
    Java
    4
    Spring Framework
    5
    Hibernate ORM framework
    

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

    package com.java.tutorials.iterations;
    
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * 在 Java 中遍历 HashMap 的5种最佳方式
     * @author Ramesh Fadatare
     *
     */
    public class IterateHashMapExample {
        public static void main(String[] args) {
            Map < Integer, String > coursesMap = new HashMap < Integer, String > ();
            coursesMap.put(1, "C");
            coursesMap.put(2, "C++");
            coursesMap.put(3, "Java");
            coursesMap.put(4, "Spring Framework");
            coursesMap.put(5, "Hibernate ORM framework");
    
            // 3. 使用 For-each 循环遍历 HashMap
            for (Map.Entry < Integer, String > entry: coursesMap.entrySet()) {
                System.out.println(entry.getKey());
                System.out.println(entry.getValue());
            }
        }
    }
    

    Output:

    1
    C
    2
    C++
    3
    Java
    4
    Spring Framework
    5
    Hibernate ORM framework
    

    4. 使用 Lambda 表达式遍历 HashMap

    package com.java.tutorials.iterations;
    
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * 在 Java 中遍历 HashMap 的5种最佳方式
     * @author Ramesh Fadatare
     *
     */
    public class IterateHashMapExample {
        public static void main(String[] args) {
            Map < Integer, String > coursesMap = new HashMap < Integer, String > ();
            coursesMap.put(1, "C");
            coursesMap.put(2, "C++");
            coursesMap.put(3, "Java");
            coursesMap.put(4, "Spring Framework");
            coursesMap.put(5, "Hibernate ORM framework");
    
            // 4. 使用 Lambda 表达式遍历 HashMap
            coursesMap.forEach((key, value) -> {
                System.out.println(key);
                System.out.println(value);
            });
        }
    }
    

    Output:

    1
    C
    2
    C++
    3
    Java
    4
    Spring Framework
    5
    Hibernate ORM framework
    

    5. 使用 Stream API 遍历 HashMap

    package com.java.tutorials.iterations;
    
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * 在 Java 中遍历 HashMap 的5种最佳方式
     * @author Ramesh Fadatare
     *
     */
    public class IterateHashMapExample {
        public static void main(String[] args) {
            Map < Integer, String > coursesMap = new HashMap < Integer, String > ();
            coursesMap.put(1, "C");
            coursesMap.put(2, "C++");
            coursesMap.put(3, "Java");
            coursesMap.put(4, "Spring Framework");
            coursesMap.put(5, "Hibernate ORM framework");
    
            // 5. 使用 Stream API 遍历 HashMap
            coursesMap.entrySet().stream().forEach((entry) - > {
                System.out.println(entry.getKey());
                System.out.println(entry.getValue());
            });
        }
    }
    

    Output:

    1
    C
    2
    C++
    3
    Java
    4
    Spring Framework
    5
    Hibernate ORM framework
    

    HashMap 的相关教程

  • 相关阅读:
    Comparison of Performance Testing Tools
    软件测试两年总结
    利用FSO生成QTP测试报告
    Web 2.0 再思考(三)「搭讪」是需要理由的
    脑子里想的是A,嘴巴上说的是B,实际上做的是C,幻想前景远大的是D,可真正赚钱的恰恰却是E
    东莞镇区实力排名榜
    狂籌資計畫
    转载:日剧和韩剧的区别
    Web 2.0 再思考(一)「关系」才是重点
    炒股
  • 原文地址:https://www.cnblogs.com/gaohanghang/p/12491979.html
Copyright © 2020-2023  润新知