遍历 HashMap 的 5 种最佳方式,我不信你全知道!

    技术2022-07-12  70

    原文:http://39sd.cn/85D8A

    作者:Ramesh Fadatare

    翻译:高行行 

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

    使用 Iterator 遍历 HashMap EntrySet

    使用 Iterator 遍历 HashMap KeySet

    使用 For-each 循环迭代 HashMap

    使用 Lambda 表达式遍历 HashMap

    使用 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 END 【推荐阅读】 再见,Navicat!这个IDEA的兄弟,真香! JAVA 线上故障排查完整套路!牛掰! 浅析 VO、DTO、DO、PO 的概念、区别和用处! 再见!Lombok ... 优秀的代码都是如何分层的? 阿里规定超过三张表禁止join,为啥? 国产芯片制造有多烂?十年饮冰,热血难凉
    Processed: 0.010, SQL: 9