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的四种方式相关推荐

  1. java实现多线程抢单_JAVA实现多线程的四种方式

    JAVA多线程实现方式: 1.继承Thread类(无返回值) 2.实现Runnable接口(无返回值) 3.实现Callable接口,通过FutureTask包装器来创建Threak线程(有返回值) ...

  2. java json 解析_Java解析JSON的四种方式

    一.什么是JSON JSON是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据.简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言. 易于阅读和编写,同时也易于解析和 ...

  3. java xml 方法_Java读取xml的四种方式

    Java读取xml的四种方式 在平时工作中,难免会遇到把 XML 作为数据存储格式.面对目前种类繁多的解决方案,哪个最适合我们呢?在这篇文章中,我对这四种主流方案做一个不完全评测,仅仅针对遍历 XML ...

  4. java 读取css文件_java文件读取的两种方式

    JAVA中读取文件(二进制,字符)内容的几种方 JAVA中读取文件内容的方法有很多,比如按字节读取文件内容,按字符读取文件内容,按行读取文件内容,随机读取文件内容等方法,本文就以上方法的具体实现给出代 ...

  5. java实现线程的方式_java多线程实现的四种方式

    java多线程实现的四种方式1.继承Thread类,重写run方法(其实Thread类本身也实现了Runnable接口) 2.实现Runnable接口,重写run方法 3.实现Callable接口,重 ...

  6. java多线程传值覆盖_Java 多线程传值的四种方法

    其实大家都知道多线程传值有三种方式: 1:通过构造方法传递数据 2:通过变量和方法传递数据 3:通过回调函数传递数据 那么博主有个非常变态的需求,所以找出了第四种实现方式,先看效果图: 动态Cron4 ...

  7. java aio复制文件_java复制文件的4种方式及拷贝文件到另一个目录下的实例代码...

    尽管Java提供了一个可以处理文件的IO操作类. 但是没有一个复制文件的方法. 复制文件是一个重要的操作,当你的程序必须处理很多文件相关的时候. 然而有几种方法可以进行Java文件复制操作,下面列举出 ...

  8. java线程异步传值_Java 多线程传值的四种方法

    Java 多线程传值的四种方法 作者: sunjs 更新时间:2020-09-11 15:20:16 原文链接 其实大家都知道多线程传值有三种方式: 1:通过构造方法传递数据 2:通过变量和方法传递数 ...

  9. java加载配置文件_Java 读取配置文件的五种方式

    方式一:采用ServletContext读取,读取配置文件的realpath,然后通过文件流读取出来. 因为是用ServletContext读取文件路径,所以配置文件可以放入在WEB-INF的clas ...

  10. java添加事件监听器_Java事件监听器的四种实现方式

    自身类作为事件监听器 外部类作为事件监听器 匿名内部类作为事件监听器 内部类作为事件监听器 自身类作为事件监听器: 1 import javax.swing.*;2 import java.awt.* ...

最新文章

  1. 列表对象转数组 微信小程序_微信小程序——无限递归的层次列表
  2. 转载:flash 跨域 crossdomain.xml
  3. JSF----事件处理---动作事件
  4. struts2实现文件查看、下载
  5. Bjarne Stroustrup语录[C++经验]
  6. 找出一棵树某一深度所有节点
  7. 程序员,过了 40 岁,连 107 岁的 IBM 都不要我们了!
  8. svn服务器记录日志文件,svn服务器日志时间设置
  9. Java笔记:final修饰符
  10. android run缓存报错,AndroidStudio常见错误收集(windows版)
  11. 《游戏引擎架构》中英词汇索引表
  12. python连连看小游戏_连连看小游戏
  13. calibre的使用技巧
  14. 西安电子科技大学计算机考博,西安电子科技大学2017年拟录取申请考核博士生名.PDF...
  15. linux 文件比较覆盖,Linux系统 wget 覆盖本地文件
  16. “三门问题”的理解和Python验证
  17. win7删除文件提示“您需要权限才能执行此操作”的3种解决办法
  18. 三相维也纳pfc,开关电源,三相AC输入无桥pfc±400vDC输出,已经量产两年非常成熟,包括源代码
  19. 长在火山熔岩石板地上的大米
  20. sprintf用法(很强大啊)

热门文章

  1. python语法基础知识总结-python语法基础知识
  2. c+和python的区别-c语言和python之间有什么区别
  3. python常用内置函数总结-python常用内置函数
  4. python中常见的流程结构-常见数据结构的 Python 实现(建议收藏)
  5. python就业方向有哪些-Python的就业方向有哪些?薪资都是多少?
  6. python和java哪个-Python和Java到底哪个更好?
  7. python人脸识别毕业设计-基于Python的人脸识别系统研究.docx
  8. python怎么读文件后删去空格以行为单位进行排序-文件操作
  9. python窗口程序-Python GUI 编程(Tkinter)
  10. 解决ModuleNotFoundError: No module named ‘numpy.core._multiarray_umath‘ 错误