遍历 HashMap 的 5 种最佳方式,我不信你全知道!
-
1. 使用 Iterator 遍历 HashMap EntrySet
-
2. 使用 Iterator 遍历 HashMap KeySet
-
3. 使用 For-each 循环遍历 HashMap
-
4. 使用 Lambda 表达式遍历 HashMap
-
5. 使用 Stream API 遍历 HashMap
-
6. 最后
在本文中,我们将通过示例讨论在 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
6.最后
Java 的知识面非常广,面试问的涉及也非常广泛,重点包括:Java 基础、Java 并发,JVM、MySQL、数据结构、算法、Spring、微服务、MQ 等等,涉及的知识点何其庞大,所以我们在复习的时候也往往无从下手,今天小编给大家带来一套 Java 面试题,题库非常全面,包括 Java 基础、Java 集合、JVM、Java 并发、Spring全家桶、Redis、MySQL、Dubbo、Netty、MQ 等等,包含 Java 后端知识点 2000 +
关注公众号:“程序员白楠楠”获取