Java中Map遍历的四种方式

 如果同时需要key和value推荐使用entrySet(第一种);
如果只是获取key,或者value,推荐使用keySet或者values方式(第二种);
如果需要在遍历过程中删除元素推荐使用Iterator(第三种);
如果需要在遍历过程中增加元素,可以新建一个临时map存放新增的元素,等遍历完毕,再把临时map放到原来的map中。
 
// 循环遍历Map的4中方法
Map<String, String> map = new HashMap<String, String>();
map.put("牛郎", "织女");
map.put("项羽", "虞姬");
/**
* 1. entrySet遍历,在键和值都需要时使用(最常用)推荐,尤其是容量大时
*/
System.out.println("第一种:map.entrySet()遍历");
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println("key = " + entry.getKey() + ", value = " + entry.getValue());
}
/**
* 2. 通过keySet或values来实现遍历,性能略低于第一种方式
*/
System.out.println("\n第二种:map.keySet()或map.values()遍历");
// 遍历map中的键
for (String key : map.keySet()) {
System.out.println("key = " + key);
}
// 遍历map中的值
for (String value : map.values()) {
System.out.println("key = " + value);
}
// 同时拿到key和value值:二次取值
for (String key : map.keySet()) {
System.out.println("key= " + key + " and value= " + map.get(key));
}
/**
* 3. 使用Iterator遍历
*/
System.out.println("\n第三种:Iterator方式遍历");
Iterator<Entry<String, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
Entry<String, String> entry = it.next();
System.out.println("key = " + entry.getKey() + ", value = " + entry.getValue());
}
/**
* 4. java8 Lambda
*/
// java8提供了Lambda表达式支持,语法看起来更简洁,可以同时拿到key和value,
// 不过,经测试,性能低于entrySet,所以更推荐用entrySet的方式
System.out.println("\n第四种:map.forEach方式遍历");
map.forEach((key, value) -> {
System.out.println(key + ":" + value);
});
控制台遍历结果如下:

第一种:map.entrySet()遍历
key = 项羽, value = 虞姬
key = 牛郎, value = 织女

第二种:map.keySet()或map.values()遍历
key = 项羽
key = 牛郎
key = 虞姬
key = 织女
key= 项羽 and value= 虞姬
key= 牛郎 and value= 织女

第三种:Iterator方式遍历
key = 项羽, value = 虞姬
key = 牛郎, value = 织女


第四种:map.forEach方式遍历
项羽:虞姬
牛郎:织女

Js中Map遍历的三种方式

//遍历map方法一
for(var key in map){
console.log("遍历map方法一属性:" + key + ",值:" + map[key]);
    <%-- 遍历一次结束 --%>
    return;
}
//遍历map方法二
$.each(map,function(key,value){
console.info("遍历map方法二属性: " + key + ",值: " + value );
})
//遍历map方法三
$.map(map,function(value,key){
console.log("遍历map方法三属性:" + key + ",值:" + value);
});

Map的使用及遍历方式的更多相关文章

  1. Map 的四种遍历方式

    Map 的四种遍历方式 import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class ...

  2. map的四种遍历方式

    map是Java中非常常用的一种数据结构,但map不同于set和list都继承自Collection接口. 所以map没有实现Collection的Iterator 方法,自身没有迭代器来遍历元素. ...

  3. Map的两种遍历方式

    ********************************************************************************* ****************** ...

  4. java Map的四种遍历方式

    1.这是最常见的并且在大多数情况下也是最可取的遍历方式,在键值都需要时使用. Map<Integer, Integer> map = new HashMap<Integer, Int ...

  5. Java中Map的4种遍历方式

    第一种方式:这是平常用的最多也最可取的一种遍历方式. for (Map.Entry<String, Object> entry : map.entrySet()) { System.out ...

  6. Map集合的六种遍历方式

    学习目标: 熟练掌握Map的遍历方式 例题: 需求:遍历Map集合 代码如下: package com.yy.object.test.test_collection; import java.util ...

  7. map的4种遍历方式

            System.out.println("key= "+ key + " and value= " + map.get(key));    }   ...

  8. Java中Map常用方法总结以及遍历方式的汇总

    一.整理: 看到array,就要想到角标. 看到link,就要想到first,last. 看到hash,就要想到hashCode,equals. 看到tree,就要想到两个接口.Comparable, ...

  9. Map的三种遍历方式

    对于Map的三种方式遍历 1.keySet() 2.values() 3.entrySet()三种方式得到Set之后,都可以使用 foreach或者iterator, 不能使用for,因为数据结构决定 ...

随机推荐

  1. windows7-maven配置

    1.确认jdk安装 2.下载 3.解压缩 4.配置环境变量 (1)计算机属性--高级系统配置--高级--环境变量---系统变量--新建 (2)添加环境变量 MAVEN_HOME PATH中添加到mav ...

  2. 在Ubuntu上安装Intellij IDEA并创建桌面快捷方式

    环境信息 版本号 Ubuntu 18.04 LTS Intellij IDEA 2019.1.3 1.首先从官网获取安装包 官方下载地址传送门 然后我就在下载目录下得到了tar.gz的包 2.接下来开 ...

  3. vue用echarts 画3d地球 且画线

    页面效果如下: 项目结构如下: 引入的包 "dependencies": { "core-js": "^3.3.2", "regi ...

  4. 【Python】【demo实验35】【基础实验】【排序】【选择法排序】

    原题: 使用选择法对10个数字排序: 即取10个数中最小的放在第一个位置,再取剩下9个中最小的放在第二个位置... 我的源码: #!/usr/bin/python # encoding=utf-8 # ...

  5. Redis 学习笔记(篇五):对象(RedisObject)

    Redis-对象 在以前的文章中,我们介绍了 Redis 用到的主要数据结构,比如简单动态字符串.双端链表.字典.压缩列表.整数集合. 然而 Redis 并没有直接使用这些数据结构来实现键值对的数据库 ...

  6. springboot问题

    1.导入数据库jar包后,配置好,发现报错 数据库连接不成功  加上@SpringBootApplication(exclude = DataSourceAutoConfiguration.class ...

  7. spring cloud链路追踪组件sleuth和zipkin

    spring cloud链路追踪组件sleuth     主要作用就是日志埋点 操作方法 1.增加依赖             <dependency>      <groupId& ...

  8. Python中的幽灵—编码方式

    首先要搞懂本地操作系统编码与系统编码的区别: 本地操作系统编码方式与操作系统有关,Linux默认编码方式为utf-8,Windows默认编码方式为gbk: 系统编码方式与编译器or解释器有关,Pyth ...

  9. 【第一季】CH08_FPGA_Button 按钮去抖动实验

    [第一季]CH08_FPGA_Button 按钮去抖动实验 按键的消抖,是指按键在闭合或松开的瞬间伴随着一连串的抖动,这样的抖动将直接影响设计系统的稳定性,降低响应灵敏度.因此,必须对抖动进行处理,即 ...

  10. hdu 2189还是dp..

    题目的意思比较简单,类似计数dp. 一开始我想让dp[i]+=dp[i-prime] 每次遍历比i小的所有素数,然后发现有重叠的 比如 2+3 3+2 就导致错误.看了其他人的填充方式,发现定下pri ...