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
    • 6. 最后
     
    在本文中,我们将通过示例讨论在 Java 上遍历 HashMap 的五种最佳方法。
    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.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

    6.最后

    Java 的知识面非常广,面试问的涉及也非常广泛,重点包括:Java 基础、Java 并发,JVM、MySQL、数据结构、算法、Spring、微服务、MQ 等等,涉及的知识点何其庞大,所以我们在复习的时候也往往无从下手,今天小编给大家带来一套 Java 面试题,题库非常全面,包括 Java 基础、Java 集合、JVM、Java 并发、Spring全家桶、Redis、MySQL、Dubbo、Netty、MQ 等等,包含 Java 后端知识点 2000 +
    关注公众号:“程序员白楠楠”获取
  • 相关阅读:
    Windows下图文详解PHP三种运行方式(php_mod、cgi、fastcgi)
    【强烈推荐】利用NAT、Host-Only双虚拟网卡,实现Virtual Box中CentOS6.3联网
    PHP批量清空删除指定文件夹内容
    MySQL收藏
    Eclipse快捷键与使用技巧总结
    “知乎网”技术方案初探
    PHP数组常用函数
    PHP常用字符串的操作函数
    Linux下,如何给PHP安装pdo_mysql扩展
    PHP二维数组排序(list_order)
  • 原文地址:https://www.cnblogs.com/bainannan/p/14032525.html
Copyright © 2011-2022 走看看