java map 迭代遍历_java 遍历Map的四种方式
java 遍历Map的四种方式
CreationTime--2018年7月16日16点15分
Author:Marydon
一、迭代key&value
第一种方式:迭代entrySet
1.方法一
/**
* entrySet集合for-each循环(推荐使用)
* 这种方式必须声明泛型类型:
* a.bizData使用Map接收必须得声明泛型;b.for-each()里的Entry的泛型控制可有可无
* Map的泛型控制通常使用
*/
Map bizData = dataBus.getBizData();
for (Entry entry : bizData.entrySet()) {
System.out.println(entry.getKey() + "=" + entry.getValue());
}
2.方法二
/**
* entrySet集合迭代
*/
Iterator iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Entry entry = iterator.next();
System.out.println(entry.getKey() + "=" + entry.getValue());
}
第二种方式:迭代keySet
3.方法三
/*** keySet集合迭代*/Iterator iterator=map.keySet().iterator();while(iterator.hasNext()) {//获取键
String key = iterator.next().toString();//或String key = (String)iterator.next();//根据键获取值
Object value =map.get(key);
System.out.println("键:"+ key + ",值:" +value);
}
4.方法四
/*** keySet集合for-each循环*/
for(String key:map.keySet()) {
System.out.println(key+ "=" +map.get(key));
}
5.小结
注意:
遍历Map类集合KV,推荐使用entrySet而不是keySet
原因:
keySet其实是遍历了2次,一次是转为Iterator对象,另一次是从hashMap中取出key所对应的value;
而entrySet只是遍历了一次就把key和value都放到了entry中,效率更高。如果是JDK8,使用Map.foreach方法。
说明:
values()返回的是V值集合,是一个list集合对象;keySet()返回的是K值集合,是一个Set集合对象;entrySet()返回的是K-V值组合集合。
二、只迭代key
//只遍历键
for(String key:map.keySet()) {
System.out.println(key);
}
三、只迭代value
//只遍历值
for(Object val:map.values()) {
System.out.println(val);
}
java map 迭代遍历_java 遍历Map的四种方式相关推荐
- java实现多线程抢单_JAVA实现多线程的四种方式
JAVA多线程实现方式: 1.继承Thread类(无返回值) 2.实现Runnable接口(无返回值) 3.实现Callable接口,通过FutureTask包装器来创建Threak线程(有返回值) ...
- java json 解析_Java解析JSON的四种方式
一.什么是JSON JSON是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据.简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言. 易于阅读和编写,同时也易于解析和 ...
- java xml 方法_Java读取xml的四种方式
Java读取xml的四种方式 在平时工作中,难免会遇到把 XML 作为数据存储格式.面对目前种类繁多的解决方案,哪个最适合我们呢?在这篇文章中,我对这四种主流方案做一个不完全评测,仅仅针对遍历 XML ...
- java 读取css文件_java文件读取的两种方式
JAVA中读取文件(二进制,字符)内容的几种方 JAVA中读取文件内容的方法有很多,比如按字节读取文件内容,按字符读取文件内容,按行读取文件内容,随机读取文件内容等方法,本文就以上方法的具体实现给出代 ...
- java实现线程的方式_java多线程实现的四种方式
java多线程实现的四种方式1.继承Thread类,重写run方法(其实Thread类本身也实现了Runnable接口) 2.实现Runnable接口,重写run方法 3.实现Callable接口,重 ...
- java多线程传值覆盖_Java 多线程传值的四种方法
其实大家都知道多线程传值有三种方式: 1:通过构造方法传递数据 2:通过变量和方法传递数据 3:通过回调函数传递数据 那么博主有个非常变态的需求,所以找出了第四种实现方式,先看效果图: 动态Cron4 ...
- java aio复制文件_java复制文件的4种方式及拷贝文件到另一个目录下的实例代码...
尽管Java提供了一个可以处理文件的IO操作类. 但是没有一个复制文件的方法. 复制文件是一个重要的操作,当你的程序必须处理很多文件相关的时候. 然而有几种方法可以进行Java文件复制操作,下面列举出 ...
- java线程异步传值_Java 多线程传值的四种方法
Java 多线程传值的四种方法 作者: sunjs 更新时间:2020-09-11 15:20:16 原文链接 其实大家都知道多线程传值有三种方式: 1:通过构造方法传递数据 2:通过变量和方法传递数 ...
- java加载配置文件_Java 读取配置文件的五种方式
方式一:采用ServletContext读取,读取配置文件的realpath,然后通过文件流读取出来. 因为是用ServletContext读取文件路径,所以配置文件可以放入在WEB-INF的clas ...
- java添加事件监听器_Java事件监听器的四种实现方式
自身类作为事件监听器 外部类作为事件监听器 匿名内部类作为事件监听器 内部类作为事件监听器 自身类作为事件监听器: 1 import javax.swing.*;2 import java.awt.* ...
最新文章
- 列表对象转数组 微信小程序_微信小程序——无限递归的层次列表
- 转载:flash 跨域 crossdomain.xml
- JSF----事件处理---动作事件
- struts2实现文件查看、下载
- Bjarne Stroustrup语录[C++经验]
- 找出一棵树某一深度所有节点
- 程序员,过了 40 岁,连 107 岁的 IBM 都不要我们了!
- svn服务器记录日志文件,svn服务器日志时间设置
- Java笔记:final修饰符
- android run缓存报错,AndroidStudio常见错误收集(windows版)
- 《游戏引擎架构》中英词汇索引表
- python连连看小游戏_连连看小游戏
- calibre的使用技巧
- 西安电子科技大学计算机考博,西安电子科技大学2017年拟录取申请考核博士生名.PDF...
- linux 文件比较覆盖,Linux系统 wget 覆盖本地文件
- “三门问题”的理解和Python验证
- win7删除文件提示“您需要权限才能执行此操作”的3种解决办法
- 三相维也纳pfc,开关电源,三相AC输入无桥pfc±400vDC输出,已经量产两年非常成熟,包括源代码
- 长在火山熔岩石板地上的大米
- sprintf用法(很强大啊)
热门文章
- python语法基础知识总结-python语法基础知识
- c+和python的区别-c语言和python之间有什么区别
- python常用内置函数总结-python常用内置函数
- python中常见的流程结构-常见数据结构的 Python 实现(建议收藏)
- python就业方向有哪些-Python的就业方向有哪些?薪资都是多少?
- python和java哪个-Python和Java到底哪个更好?
- python人脸识别毕业设计-基于Python的人脸识别系统研究.docx
- python怎么读文件后删去空格以行为单位进行排序-文件操作
- python窗口程序-Python GUI 编程(Tkinter)
- 解决ModuleNotFoundError: No module named ‘numpy.core._multiarray_umath‘ 错误