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种最佳遍历方式的更多相关文章

  1. ArrayList和LinkedList的几种循环遍历方式及性能对比分析(转)

    主要介绍ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性能测试对比,根据ArrayList和LinkedList的源码实现分析性能结果,总结结论. 通过本文你可以 ...

  2. ArrayList和LinkedList的几种循环遍历方式及性能对比分析(转载)

    原文地址: http://www.trinea.cn/android/arraylist-linkedlist-loop-performance/ 原文地址: http://www.trinea.cn ...

  3. 【转】ArrayList和LinkedList的几种循环遍历方式及性能对比分析

    原文网址:http://www.trinea.cn/android/arraylist-linkedlist-loop-performance/ 主要介绍ArrayList和LinkedList这两种 ...

  4. Java 集合 ArrayList和LinkedList的几种循环遍历方式及性能对比分析 [ 转载 ]

    Java 集合 ArrayList和LinkedList的几种循环遍历方式及性能对比分析 @author Trinea 原文链接:http://www.trinea.cn/android/arrayl ...

  5. (转)ArrayList和LinkedList的几种循环遍历方式及性能对比分析

    主要介绍ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性能测试对比,根据ArrayList和LinkedList的源码实现分析性能结果,总结结论. 通过本文你可以 ...

  6. ArrayList和LinkedList的几种循环遍历方式及性能对比分析

    最新最准确内容建议直接访问原文:ArrayList和LinkedList的几种循环遍历方式及性能对比分析 主要介绍ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性 ...

  7. JS几种数组遍历方式以及性能分析对比

    前言 这一篇与上一篇 JS几种变量交换方式以及性能分析对比 属于同一个系列,本文继续分析JS中几种常用的数组遍历方式以及各自的性能对比 起由 在上一次分析了JS几种常用变量交换方式以及各自性能后,觉得 ...

  8. JS几种数组遍历方式总结

    JS数组遍历的几种方式 JS数组遍历,基本就是for,forin,foreach,forof,map等等一些方法,以下介绍几种本文分析用到的数组遍历方式以及进行性能分析对比 第一种:普通for循环 代 ...

  9. 遍历 HashMap 的 5 种最佳方式

    使用 Iterator 遍历 HashMap EntrySet 使用 Iterator 遍历 HashMap KeySet 使用 For-each 循环迭代 HashMap 使用 Lambda 表达式 ...

随机推荐

  1. No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK 问题解决

    1. 问题描述 使用idea对Java工程执行mvn compile命令进行编译,出现以下报错: [ERROR] Failed to execute goal org.apache.maven.plu ...

  2. 认识并学会使用spring boot

    1,什么是SpringBoot SpringBoot是Spring项目中的一个子工程,与我们所熟知的Spring-framework 同属于spring的产品,用一些固定的方式来构建生产级别的spri ...

  3. 数据分析实际案例之:pandas在餐厅评分数据中的使用

    目录 简介 餐厅评分数据简介 分析评分数据 简介 为了更好的熟练掌握pandas在实际数据分析中的应用,今天我们再介绍一下怎么使用pandas做美国餐厅评分数据的分析. 餐厅评分数据简介 数据的来源是 ...

  4. [Java]Java入门笔记(一):IDE设置、部分快捷键

    一.Eclipse 软件设置 注意 同一时间,工作空间只能使用1个. 1.1 创建程序的步骤 创建项目Java Project 注意:项目名不要使用数字,也不要以数字开头: 选择"Use d ...

  5. Oracle数据类型简介

    数值类型: 整数类型:NUMBER(m); 其中m代表的是整数数值的位数:例如NUMBER(5),表示的数值范围为:-99999~99999. 浮点类型:NUMBER(m,n); 其中m代表的是浮点型 ...

  6. 每日一算之变位词(C#)

    今天看编程珠玑里面,看到一个关于查找变位词的题目,大概意思如下:post,stop,tops这几个是变位词,找出类似的这些词语来. 解题思路一:既然是变位词,1.他们的长度一定是一致的:2.还有就是他 ...

  7. spring 使用depends-on, lazy-init, defalut-lazy-init

    depends-on 如果一个bean是另一个bean的依赖, 可以使用ref属性或者<ref/>标签来实现依赖 那么被依赖bean一定是要比依赖bean率先实例化, 而depends-o ...

  8. kubernetes配置后端存储 rook-ceph

    一 Rook概述 1.1 Ceph简介 Ceph是一种高度可扩展的分布式存储解决方案,提供对象.文件和块存储.在每个存储节点上,将找到Ceph存储对象的文件系统和Ceph OSD(对象存储守护程序)进 ...

  9. QT:异常、错误

    1.Unknown module(s) in QT: xxx 原因1:我们的QT中没有安装这个Module 解决方法:Unknown module(s) 与MaintenanceTool.exe更新. ...

  10. MM32F0020 UART1中断接收

    目录: 1.MM32F0020简介 2.初始化MM32F0020 UART1和NVIC中断 3.编写MM32F0020 UART1中断接收函数 4.编写MM32F0020 UART1发送字节和ASCI ...