遍历 HashMap 的 5 种方式总结
介绍
在本文中,我们将通过示例讨论在 Java 上遍历 HashMap 的五种方法。
1、使用 Iterator 遍历 HashMap EntrySet
2、使用 Iterator 遍历 HashMap KeySet
3、使用 For-each 循环迭代 HashMap
- 在for循环中遍历key或者values
- 通过键找值遍历
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++"); 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()); } }
}
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++"); // 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)); } }
}
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++"); //最常见也是大多数情况下用的最多的,一般在键值对都需要使用// 3. 使用 For-each 循环遍历 HashMap for (Map.Entry < Integer, String > entry: coursesMap.entrySet()) { System.out.println(entry.getKey()); System.out.println(entry.getValue()); } }
}
- 在for循环中遍历key或者values,一般适用于只需要map中的key或者value时使用,在性能上比使用entrySet较好;
Map <String,String>map = new HashMap<String,String>();map.put(1, "C"); map.put(2, "C++"); //keyfor(String key : map.keySet()){System.out.println(key);}//valuefor(String value : map.values()){System.out.println(value);}
- 通过键找值遍历,这种方式的效率比较低,因为本身从键取值是耗时的操作;
for(String key : map.keySet()){String value = map.get(key);System.out.println(key+":"+value);}
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++"); // 4. 使用 Lambda 表达式遍历 HashMap coursesMap.forEach((key, value) -> { System.out.println(key); System.out.println(value); }); }
}
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++"); // 5. 使用 Stream API 遍历 HashMap coursesMap.entrySet().stream().forEach((entry) - > { System.out.println(entry.getKey()); System.out.println(entry.getValue()); }); }
}
参考资料:
https://mp.weixin.qq.com/s/p1aQ94fSrznqHqUFaPU6hA
https://www.cnblogs.com/damoblog/p/9124937.html
遍历 HashMap 的 5 种方式总结相关推荐
- Java中遍历HashMap的5种方式
From: https://blog.csdn.net/w605283073/article/details/80708943 本教程将为你展示Java中HashMap的几种典型遍历方式. 如果你使用 ...
- 遍历HashMap的几种方式总结
1.使用Iterator遍历HashMap HashMap<String, String> map = new HashMap<>(); // 添加元素 map.put(&qu ...
- 遍历HashMap的三种方式(Iterator,for,entry的迭代器)
遍历HashMap 如何遍历HashMap? Key的迭代器 Key的for(这里的for是for的另一种用法,普通for无法得出结果,因为set是无序的) 对整个entry的迭代器,当然也有for的 ...
- 高效遍历HashMap的5种方式
一.使用 Iterator 遍历 HashMap EntrySet public static void iteratorEntrySetMap(Map<Integer, String> ...
- 遍历HashMap的5种方式
使用 Iterator 遍历 HashMap EntrySet 使用 Iterator 遍历 HashMap KeySet 使用For-each 循环迭代 HashMap 使用 Lambda 表达式遍 ...
- java foreach hashmap_在 Java 中遍历 HashMap 的5种最佳方式
在本文中,我们将通过示例讨论在 Java 上遍历 HashMap 的五种最佳方式. 使用 Iterator 遍历 HashMap EntrySet 使用 Iterator 遍历 HashM ...
- 遍历 HashMap 的 5 种最佳方式,我不信你全知道!
在本文中,我们将通过示例讨论在 Java 上遍历 HashMap 的五种最佳方法. 使用 Iterator 遍历 HashMap EntrySet 使用 Iterator 遍历 HashMap Key ...
- 遍历 HashMap 的 5 种最佳方式
1. 使用 Iterator 遍历 HashMap EntrySet 2. 使用 Iterator 遍历 HashMap KeySet 3. 使用 For-each 循环遍历 HashMap 4. 使 ...
- 如何遍历 HashMap,遍历HashMap 的 5 种最佳方式
在本文中,我们将通过示例讨论在 Java 上遍历 HashMap 的五种最佳方法. 使用 Iterator 遍历 HashMap EntrySet 使用 Iterator 遍历 HashMap Key ...
最新文章
- 一篇文章搞懂fof好友推荐案例
- 编程中python怎么读-对Python新手编程过程中如何规避一些常见问题的建议
- BOOL 值在 debug 和 release 模式下初始化不一样!!!
- C++11-long long
- python入门实践19章_Python 编程从入门到实践 第19章 注销一节问题
- POJ 1287 Networking
- 过剩通勤应用——线性规划问题解决开源工具(下篇)
- 电流、电压、功率的计算方式
- 全年营业额怎么计算_年度利润总额如何计算
- html中加分割线,多种HTML分割线
- MDK5.30下载来了,含镜像下载地址,ARM同时带来Cortex-M55调试展示(2020-05-05)
- js中trim函数_30天中的30个Excel函数:03 – TRIM
- openpyxl的基本使用
- 兄弟,MDN可能撑不住了
- python 安装 ffmpeg包--简便方法
- 数学思想 之 归纳法
- joomla安装遇到的问题
- C# 样品管理模块和订单模块设计
- 电子器件系列32:逻辑与门芯片74LS11
- 利用神经网络对常见水果进行分类