遍历 HashMap 的 5 种最佳方式,我不信你全知道!
程序员文章站
2022-07-09 18:44:28
原文地址:https://www.javaguides.net/2020/03/5 best ways to iterate over hashmap in java.html 作者:Ramesh Fadatare 翻译:高行行 https://www.toutiao.com/a6803887957 ......
原文地址:
作者:ramesh fadatare
翻译:高行行
在本文中,我们将通过示例讨论在 java 上遍历 hashmap 的五种最佳方法。
-
使用 iterator 遍历 hashmap entryset
-
使用 iterator 遍历 hashmap keyset
-
使用 for-each 循环迭代 hashmap
-
使用 lambda 表达式遍历 hashmap
-
使用 stream api 遍历 hashmap
通过 [6]了解有关 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
关注微信公众号:java技术栈,在后台回复:java,可以获取我整理的 n 篇最新 java 教程,都是干货。
推荐去我的博客阅读更多:
2.spring mvc、spring boot、spring cloud 系列教程
3.maven、git、eclipse、intellij idea 系列工具教程
生活很美好,明天见~