HashMap集合类 5种最佳遍历方式
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.jia.map;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.Map;
- public class HashMapDemo {
- public static void main(String[] args) {
- Map<Integer,String> map = new HashMap<>();
- map.put(1,"java");
- map.put(2,"c");
- map.put(3,"c++");
- map.put(4,"c#");
- map.put(5,"spring");
- Iterator<Map.Entry<Integer, String>> iterator = map.entrySet().iterator();
- while (iterator.hasNext()){
- Map.Entry<Integer, String> entry = iterator.next();
- System.out.println(entry.getKey() + ":" + entry.getValue());
- }
- }
- }
Output:
- 1:java
- 2:c
- 3:c++
- 4:c#
- 5:spring
- Process finished with exit code 0
2. 使用 Iterator 遍历 HashMap KeySet
- package com.jia.map;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.Map;
- public class HashMapDemo02 {
- public static void main(String[] args) {
- Map<Integer,String> map = new HashMap<>();
- map.put(1,"java");
- map.put(2,"c");
- map.put(3,"c++");
- map.put(4,"c#");
- map.put(5,"spring");
- Iterator<Integer> iterator = map.keySet().iterator();
- while (iterator.hasNext()){
- Integer key = iterator.next();
- System.out.println(key);
- System.out.println(map.get(key));
- }
- }
- }
Output:
- 1
- java
- 2
- c
- 3
- c++
- 4
- c#
- 5
- spring
- Process finished with exit code 0
3. 使用 For-each 循环遍历 HashMap
- package com.jia.map;
- import java.util.HashMap;
- import java.util.Map;
- public class HashMapDemo03 {
- public static void main(String[] args) {
- Map<Integer,String> map = new HashMap<>();
- map.put(1,"java");
- map.put(2,"c");
- map.put(3,"c++");
- map.put(4,"c#");
- map.put(5,"spring");
- for (Map.Entry<Integer, String> entry : map.entrySet()) {
- System.out.println(entry.getKey() + ":" + entry.getValue());
- }
- }
- }
Output:
- 1:java
- 2:c
- 3:c++
- 4:c#
- 5:spring
- Process finished with exit code 0
4. 使用 Lambda 表达式遍历 HashMap(推荐!!!)
- package com.jia.map;
- import java.util.HashMap;
- import java.util.Map;
- public class HashMapDemo04 {
- public static void main(String[] args) {
- Map<Integer,String> map = new HashMap<>();
- map.put(1,"java");
- map.put(2,"c");
- map.put(3,"c++");
- map.put(4,"c#");
- map.put(5,"spring");
- map.forEach((key,value) ->{
- System.out.println(key + ":" + value);
- });
- }
- }
Output:
- 1:java
- 2:c
- 3:c++
- 4:c#
- 5:spring
- Process finished with exit code 0
5. 使用 Stream API 遍历 HashMap(推荐!!!)
- package com.jia.map;
- import java.util.HashMap;
- import java.util.Map;
- public class HashMapDemo05 {
- public static void main(String[] args) {
- Map<Integer,String> map = new HashMap<>();
- map.put(1,"java");
- map.put(2,"c");
- map.put(3,"c++");
- map.put(4,"c#");
- map.put(5,"spring");
- map.entrySet().stream().forEach((entry) ->{
- System.out.println(entry.getKey() + ":" + entry.getValue());
- });
- }
- }
Output:
- 1:java
- 2:c
- 3:c++
- 4:c#
- 5:spring
- Process finished with exit code 0
HashMap集合类 5种最佳遍历方式的更多相关文章
- ArrayList和LinkedList的几种循环遍历方式及性能对比分析(转)
主要介绍ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性能测试对比,根据ArrayList和LinkedList的源码实现分析性能结果,总结结论. 通过本文你可以 ...
- ArrayList和LinkedList的几种循环遍历方式及性能对比分析(转载)
原文地址: http://www.trinea.cn/android/arraylist-linkedlist-loop-performance/ 原文地址: http://www.trinea.cn ...
- 【转】ArrayList和LinkedList的几种循环遍历方式及性能对比分析
原文网址:http://www.trinea.cn/android/arraylist-linkedlist-loop-performance/ 主要介绍ArrayList和LinkedList这两种 ...
- Java 集合 ArrayList和LinkedList的几种循环遍历方式及性能对比分析 [ 转载 ]
Java 集合 ArrayList和LinkedList的几种循环遍历方式及性能对比分析 @author Trinea 原文链接:http://www.trinea.cn/android/arrayl ...
- (转)ArrayList和LinkedList的几种循环遍历方式及性能对比分析
主要介绍ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性能测试对比,根据ArrayList和LinkedList的源码实现分析性能结果,总结结论. 通过本文你可以 ...
- ArrayList和LinkedList的几种循环遍历方式及性能对比分析
最新最准确内容建议直接访问原文:ArrayList和LinkedList的几种循环遍历方式及性能对比分析 主要介绍ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性 ...
- JS几种数组遍历方式以及性能分析对比
前言 这一篇与上一篇 JS几种变量交换方式以及性能分析对比 属于同一个系列,本文继续分析JS中几种常用的数组遍历方式以及各自的性能对比 起由 在上一次分析了JS几种常用变量交换方式以及各自性能后,觉得 ...
- JS几种数组遍历方式总结
JS数组遍历的几种方式 JS数组遍历,基本就是for,forin,foreach,forof,map等等一些方法,以下介绍几种本文分析用到的数组遍历方式以及进行性能分析对比 第一种:普通for循环 代 ...
- 遍历 HashMap 的 5 种最佳方式
使用 Iterator 遍历 HashMap EntrySet 使用 Iterator 遍历 HashMap KeySet 使用 For-each 循环迭代 HashMap 使用 Lambda 表达式 ...
随机推荐
- Solution -「LOJ #150」挑战多项式 ||「模板」多项式全家桶
\(\mathcal{Description}\) Link. 给定 \(n\) 次多项式 \(F(x)\),在模 \(998244353\) 意义下求 \[G(x)\equiv\left\{ ...
- v-model的修饰符
.lazy 就是在用户输入时数据不会进行传输,在失去焦点后或者按回车,才会将数据将进行改变 .number 因为v-model所绑定的数据,都会默认转换为string类型,而.number就能将数据转 ...
- Python+selenium自动循环发邮件
Python源代码如下: # coding=utf-8 from selenium import webdriver from time import sleep from random import ...
- Django的后台管理系统Admin(5)
Django的后台管理系统就是为了方便管理员管理网站,所以django自带了一个后台管理系统,接下来记录一下如何使用这个后台的管理系统. 首先我们要进入后台管理系统,就要有一个管理员的账号,先来创建有 ...
- NSSCTF-gif好像有点大
下载的附件压缩包是一个接近9mb的压缩包,其实是比较简单的一个小杂项,应该就算是个签到,接下来就是使用工具进行解答,可以使用LSB隐写工具,一帧一帧的查看,最后是在500多看到的一个是存在二维码的,扫 ...
- bi报表是什么意思,有什么优势?
BI也叫商业智能系统,BI报表也就是将企业中现有数据进行整合并提供出的报表,商业智能描述了一系列的概念和方法,通过应用基于事实的支持系统来辅助商业决策的制定. 商业智能技术提供使企业迅速分析数据的技 ...
- HDFS成员的工作机制
NameNode工作机制 nn负责管理块的元数据信息,元数据信息为fsimage和edits预写日志,通过edits预写日志来更新fsimage中的元数据信息,每次namenode启动时,都会将磁盘中 ...
- Linux命令(ping-telnet-netstat-curl-ps)
转至:https://www.jianshu.com/p/577bbd15a6f8 1.ping命令 ping命令用来测试主机之间网络的连通性.执行ping指令会使用ICMP传输协议,发出要求回应的信 ...
- Qt:QWebEngineView
0.说明 QWebEngineView提供一个用于展示和编辑网页内容的Widget,QWebEngineView本质是一个Widget. 一个Web View通过load( QUrl )方法加载一个U ...
- LeetCode-029-两数相除
两数相除 题目描述:给定两个整数,被除数 dividend 和除数 divisor.将两数相除,要求不使用乘法.除法和 mod 运算符. 返回被除数 dividend 除以除数 divisor 得到的 ...