声明:迁移自本人CSDN博客https://blog.csdn.net/u013365635

探讨有几种遍历Map的方法其实意义并不大,网上的文章一般讲4种或5种的居多,重要的是知道遍历的内涵,从遍历元素的角度来看,分为Key、Value、Map.Entry,从遍历的方法来看,分为foreach、Iterator。即Map可以对Key、Value、Map.Entry分别执行foreach、Iterator遍历,所以总结有2*3=6种遍历方式。

提供实例如下。

源码如下
package com;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map; public class TestMapTraversal
{
public static void main(String[] args)
{
Map<Integer, String> testmap = new HashMap<Integer, String>();
testmap.put(100, "100");
testmap.put(200, "200");
System.out.println("\n------>1");
//方法1:按照key foreach
for (Integer key : testmap.keySet())
{
System.out.println("key=" + key + ", value=" + testmap.get(key));
} //方法2:按照key iterator
Iterator<Integer> iterable2 = testmap.keySet().iterator();
System.out.println("\n------>2");
int key2;
while(iterable2.hasNext())
{
key2 = iterable2.next();
System.out.println("key=" + key2 + ", value=" + testmap.get(key2));
} //方法3:按照Map.Entry foreach
System.out.println("\n------>3");
for (Map.Entry<Integer, String> entry : testmap.entrySet())
{
System.out.println("key=" + entry.getKey() + ", value=" + entry.getValue());
} //方法4:按照Map.Entry Iterator
System.out.println("\n------>4");
Iterator iterator4 = testmap.entrySet().iterator();
Map.Entry<Integer, String> entry4;
while(iterator4.hasNext())
{
entry4 = (Map.Entry)iterator4.next();
System.out.println("key=" + entry4.getKey() + ", value=" + entry4.getValue());
} //方法5:按照value foreach
System.out.println("\n------>5");
for (String value : testmap.values())
{
System.out.println("value=" + value);
} //方法6:按照value iterator
System.out.println("\n------>6");
Iterator iterator6 = testmap.values().iterator();
String value6;
while(iterator6.hasNext())
{
value6 = (String)iterator6.next();
System.out.println("value=" + value6);
}
}
}

运行结果如下

------>1
key=100, value=100
key=200, value=200 ------>2
key=100, value=100
key=200, value=200 ------>3
key=100, value=100
key=200, value=200 ------>4
key=100, value=100
key=200, value=200 ------>5
value=100
value=200 ------>6
value=100
value=200

Map的6种遍历方法的更多相关文章

  1. Java中Map的三种遍历方法

    Map的三种遍历方法: 1. 使用keySet遍历,while循环: 2. 使用entrySet遍历,while循环: 3. 使用for循环遍历.   告诉您们一个小秘密: (下↓面是测试代码,最爱看 ...

  2. map的三种遍历方法!

    map的三种遍历方法!   集合的一个很重要的操作---遍历,学习了三种遍历方法,三种方法各有优缺点~~ /* * To change this template, choose Tools | Te ...

  3. Map的五种遍历方法

    package com.jackey.topic; import java.util.ArrayList;import java.util.HashMap;import java.util.Itera ...

  4. Map获取键值,Map的几种遍历方法

    Map 类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的对象集.接着,Map.Entry类提供了一个 getKey()方法和一个getValue()方法,Map ...

  5. Map 的两种遍历方法详细说明

    //方法一 Set<String> set = map.keySet(); for (String s:set) { System.out.println(s+","+ ...

  6. Map的四种遍历方法

    1.取值遍历 for(String key:map.keySet()){ System.out.println("key="+key+"and value=" ...

  7. Map获取键值,Map的几种遍历方法 (转载)

    Map类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的对象集.接着,Map.Entry类提供了一个getKey()方法和一个getValue()方法,Map.E ...

  8. Map的四种遍历

    //Map的四种遍历方法 public static void main(String[] args) { Map<String, String> map = new HashMap< ...

  9. HashMap的四种遍历方法,及效率比较(简单明了)

    https://yq.aliyun.com/ziliao/210955 public static void main(String[] args) { HashMap<Integer, Str ...

随机推荐

  1. 029、Java中的四则运算

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  2. 0108 spring的申明式事务

    背景 互联网的金融和电商行业,最关注数据库事务. 业务核心 说明 金融行业-金融产品金额 不允许发生错误 电商行业-商品交易金额,商品库存 不允许发生错误 面临的难点: 高并发下保证: 数据一致性,高 ...

  3. 2020牛客寒假算法基础集训营4 I 匹配星星

    https://ac.nowcoder.com/acm/contest/3005/I 又做麻烦了,悲催... 将所有星星按x坐标为第一关键字,z为第二关键字排好序 那么一个z=1的星星匹配的是x比它小 ...

  4. 51nod 1439:互质对 容斥原理

    1439 互质对 题目来源: CodeForces 基准时间限制:2 秒 空间限制:131072 KB 分值: 160 难度:6级算法题  收藏  取消关注 有n个数字,a[1],a[2],-,a[n ...

  5. a标签的超链接提交form表单

    <form action="/home/search" method="get" id="search_form"><di ...

  6. 127个常用的JS代码片段,每段代码花30秒就能看懂(上)

    127个常用的JS代码片段,每段代码花30秒就能看懂(上) JavaScript 是目前最流行的编程语言之一,正如大多数人所说:“如果你想学一门编程语言,请学JavaScript.” FreeCode ...

  7. 第二阶段scrum-10

    1.整个团队的任务量: 2.任务看板: 会议照片: 产品状态: 等待发布

  8. Node.js NPM 作用

    章节 Node.js NPM 介绍 Node.js NPM 作用 Node.js NPM 包(Package) Node.js NPM 管理包 Node.js NPM Package.json NPM ...

  9. java IO 流关系图谱

    学习io流最好明白其之间的 关联与转换关系 ,以下是笔者所划得 关系图谱,大框包含小框 ,小框是大框内的 请求参数,箭头是继承或实现. 清晰了其关联与包含关系后我们便很容易在现实中结合使用了 . 这是 ...

  10. SHELL学习笔记三

    SHELL学习笔记一 SHELL学习笔记二 SHELL学习笔记三 for 命令 读取列表中的复杂值 从变量读取列表 从命令读取值 更改字段分隔符 用通配符读取目录 which 使用多个测试命令 unt ...