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的泛型控制通常使用<String,Object>
*/
Map<String, Object> bizData = dataBus.getBizData();
for (Entry<String, Object> entry : bizData.entrySet()) {
System.out.println(entry.getKey() + "=" + entry.getValue());
}
2.方法二
/**
* entrySet集合迭代
*/
Iterator iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Entry<String, Object> 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中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...
- java遍历Map的几种方式
1.遍历map的几种方式:private Hashtable<String, String> emails = new Hashtable<String, String>(); ...
- java 遍历map的四种方法
16:21:42 Map.entrySet() 这个方法返回的是一个Set<Map.Entry<K,V>>,Map.Entry 是Map中的一个接口,他的用途是表示一个映射项( ...
- Java中遍历Map的四种方式
Demo如下 Map<String, String> map = new HashMap<>(); map.put("key1","data1&q ...
- Java遍历Map的3种方式
package test; import java.util.Collection; import java.util.HashMap; import java.util.Map; import ja ...
- 遍历Map的四种方式
方法一 在for-each循环中使用entries来遍历 这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用. 注意:for-each循环在java 5中被引入所以该方法只能应用于 ...
- Java遍历Map的4种方式
public static void main(String[] args) { // 循环遍历Map的4中方法 Map<Integer, Integer> map = new HashM ...
- [转载] Java 遍历 Map 的 5 种方式
目录 1 通过 keySet() 或 values() 方法遍历 2 通过 keySet 的 get(key) 获取值 3 通过 entrySet 遍历 4 通过迭代器 Iterator 遍历 5 通 ...
- 遍历Map的四种方式(Java)
public static void main(String[] args) { Map<String, String> map = new HashMap<String, Stri ...
随机推荐
- MVC的Ajax异步请求
@using (Ajax.BeginForm("GetTime","order",new AjaxOptions() { Confirm="你确认这么 ...
- [转]RSA,DSA等加解密算法介绍
From : http://blog.sina.com.cn/s/blog_a9303fd90101cgw4.html 1) MD5/SHA MessageDigest是一个数据的数字指纹. ...
- CodeReview工具Gerrit的python库pygerrit2
源代码: https://github.com/dpursehouse/pygerrit2
- emouse思·睿—评论与观点整理之四
虽说我主要做的硬件,平时的兴趣爱好比较关注移动互联网,混迹于虎嗅.爱范儿.雷锋网.36Kr.cnBeta.瘾科技.i黑马.TechWeb等这类科技以及创业媒体,遗憾的是系统的去写的并不多,好在还算充分 ...
- lftp命令
lftp 是一个功能强大的下载工具,它支持访问文件的协议: ftp, ftps, http, https, hftp, fish.(其中ftps和https需要在编译的时候包含openssl库).ll ...
- DOS批处理中%cd%和%~dp0的异同分析
在DOS的批处理中,有时候需要知道当前的路径.在DOS中,有两个环境变量可以跟当前路径有关,一个是%cd%, 一个是%~dp0. 这两个变量的用法和代表的内容是不同的. 1. %cd% 可以用在批处理 ...
- [leetcode]Merge Sorted Array @ Python
原题地址:https://oj.leetcode.com/problems/merge-sorted-array/ 题意:Given two sorted integer arrays A and B ...
- CSS- 横向和纵向时间轴
时间轴在展示公司发展信息,服务流程中用的比较多,常见的注册登录有的是通过引导,一步一步的来完成,上面会通过时间轴告诉用户当前在哪一步,公司在关于我们或者发展流程的时候也特别喜欢用时间轴来展示,简单的实 ...
- Base64原理与实现
Base64编码说明 Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式. 如果剩下的字符不足3个字节,则用0填充 ...
- 【Scala】Scala-None-null引发的血案
Scala-None-null引发的血案 Overview - Spark 2.2.0 Documentation Spark Streaming - Spark 2.2.0 Documentatio ...