Map的6种遍历方法
声明:迁移自本人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种遍历方法的更多相关文章
- Java中Map的三种遍历方法
Map的三种遍历方法: 1. 使用keySet遍历,while循环: 2. 使用entrySet遍历,while循环: 3. 使用for循环遍历. 告诉您们一个小秘密: (下↓面是测试代码,最爱看 ...
- map的三种遍历方法!
map的三种遍历方法! 集合的一个很重要的操作---遍历,学习了三种遍历方法,三种方法各有优缺点~~ /* * To change this template, choose Tools | Te ...
- Map的五种遍历方法
package com.jackey.topic; import java.util.ArrayList;import java.util.HashMap;import java.util.Itera ...
- Map获取键值,Map的几种遍历方法
Map 类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的对象集.接着,Map.Entry类提供了一个 getKey()方法和一个getValue()方法,Map ...
- Map 的两种遍历方法详细说明
//方法一 Set<String> set = map.keySet(); for (String s:set) { System.out.println(s+","+ ...
- Map的四种遍历方法
1.取值遍历 for(String key:map.keySet()){ System.out.println("key="+key+"and value=" ...
- Map获取键值,Map的几种遍历方法 (转载)
Map类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的对象集.接着,Map.Entry类提供了一个getKey()方法和一个getValue()方法,Map.E ...
- Map的四种遍历
//Map的四种遍历方法 public static void main(String[] args) { Map<String, String> map = new HashMap< ...
- HashMap的四种遍历方法,及效率比较(简单明了)
https://yq.aliyun.com/ziliao/210955 public static void main(String[] args) { HashMap<Integer, Str ...
随机推荐
- 20170430深圳Meetup
一.类似于淘宝网,可以连续选择多个商品筛选条件,这多个参数如何传递到后台,进行数据交互? 方案一: def index // 给view提供多个参数 @param1 = ... @param2 = . ...
- 侯捷C++学习(二)
#include <iostream>using namespace std;class complex{ public: complex (double r= 0, double i = ...
- 19 02 03 django 中cookies 和 session 和 cache
Session 是单用户的会话状态.当用户访问网站时,产生一个 sessionid.并存在于 cookies中.每次向服务器请求时,发送这个 cookies,再从服务器中检索是否有这个 session ...
- idea中使用maven运行wordcount代码
1.创建maven项目 pom文件: <?xml version="1.0" encoding="UTF-8"?> <project xmln ...
- reduce()、filter()、map()、some()、every()、...展开属性
reduce().filter().map().some().every()....展开属性 这些概念属于es5.es6中的语法,跟react+redux并没有什么联系,我们直接在https:// ...
- jQuery省市联动(XML/JSON)
准备: 导包 在src下导入c3p0-config.xml 导入JDBCUtil 创建数据库 新建js文件夹导入jQuery配置文件 NO01:创建city.jsp页面 <%@ page lan ...
- java核心-多线程(1)-知识大纲
Thread,整理一份多线程知识大纲,大写意 1.概念介绍 线程 进程 并发 2.基础知识介绍 Java线程类 Thread 静态方法&实例方法 Runnable Callable Futur ...
- 六十八、SAP中内表插入的三种方法之二,COLLECT的使用,用于计算数字字段之和
一.使用COLLECT时,如果关键字没有,那么插入,如果有则求所有关键字列的和,代码如下 二.sy-index在循环中,每次循环从1开始递增 三.查看T_DATA数据 四.如下 五.循环时候,我们查看 ...
- 034-PHP简单定义一个匿名函数
<?php /* 简单定义一个匿名函数 */ # 把匿名函数赋值给一个变量,也叫临时函数 $demo = function ($txt) { echo $txt; }; # 调用测试下 $dem ...
- 077-PHP数组删除元素
<?php $arr=array(98,'hello',67,'A',85,NULL); //定义一个数组 echo '删除元素之前数组中的元素个数为:'.count($arr); //输出数组 ...