学习目标:

熟练掌握Map的遍历方式

例题:

需求:遍历Map集合

代码如下:

package com.yy.object.test.test_collection;

import java.util.*;

/**
* @author YanYang
* @projectName day02
* @description: TODO
* @date 2021/3/30 19:48
*/
public class MapTest02 {
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<>();
map.put(1, "光头强");
map.put(2, "熊大");
map.put(3, "熊二"); /**
* 第一种方法
* map.keySet() 返回一个 set<类型为key的类型> 集合
* 由于这种方式在遍历中又获取了一遍值,所以这种方式比第二种方式慢很多
*/
// foreach遍历
for(Integer keys : map.keySet()) {
System.out.println("key = " + keys + ", value = " + map.get(keys));
} System.out.println("......................."); // Iterator遍历
Iterator<Integer> iterator = map.keySet().iterator();
while(iterator.hasNext()) {
Integer key = iterator.next();
System.out.println("key = " + key+ ", value = " + map.get(key));
} System.out.println("-------------------------"); /**
* 第二种
* Map.Entry<>是 Map 中的一个接口,Map.Entry 中封装了 getKey() 和 getValue()方 法,可以获得相应的 key 和 value
* map.entrySet() 返回一个实现了 Map.Entry 接口的对象的set集合
*/
// 使用foreach遍历输出
Set<Map.Entry<Integer, String>> set = map.entrySet();
for(Map.Entry<Integer, String> items : set) {
System.out.println("key = " + items.getKey() + ", value = " + items.getValue());
} System.out.println("......................."); // 使用Iterator遍历输出
Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<Integer, String> m = it.next();
System.out.println("key = " + m.getKey() + ", value = " + m.getValue());
} System.out.println("-------------------------"); /**
* 第三种,第三种是通过 Map 的 values() 方法获得一个 cllection<String> 集合
*/
for(String str : map.values()) {
System.out.println("value = " + str);
} System.out.println("......................."); Iterator iterator1 = map.values().iterator();
while(iterator1.hasNext()) {
System.out.println("value = " + iterator1.next());
} }
}

运行结果:

"C:\Program Files\Java\jdk-11.0.9\bin\java.exe"
key = 1, value = 光头强
key = 2, value = 熊大
key = 3, value = 熊二
.......................
key = 1, value = 光头强
key = 2, value = 熊大
key = 3, value = 熊二
-------------------------
key = 1, value = 光头强
key = 2, value = 熊大
key = 3, value = 熊二
.......................
key = 1, value = 光头强
key = 2, value = 熊大
key = 3, value = 熊二
-------------------------
value = 光头强
value = 熊大
value = 熊二
.......................
value = 光头强
value = 熊大
value = 熊二 Process finished with exit code 0

总结:

以上就是Map遍历的几种方式了,代码仅供参考,欢迎讨论其他的遍历方式。

Map集合的六种遍历方式的更多相关文章

  1. Map 的四种遍历方式

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

  2. Java集合01----ArrayList的遍历方式及应用

                                                 Java集合01----ArrayList的遍历方式及应用 前面已经学习了ArrayList的源代码,为了学以 ...

  3. 遍历Map集合的几种方式

    import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entr ...

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

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

  5. map的四种遍历方式

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

  6. 实现斗地主纸牌游戏---洗牌 发牌 看底牌的具体功能------Map集合存储方法 遍历的应用

    该Demo只是斗地主的游戏的一部分,实现的斗地主的组合牌  洗牌  发牌 看牌的功能,主要应用Map集合进行练习 package cn.lijun import java.util.ArrayList ...

  7. Map的两种遍历方式

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

  8. java Map的四种遍历方式

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

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

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

随机推荐

  1. 9.resultMap元素

    resultMap 是 MyBatis 中最复杂的元素,主要用于解决实体类属性名与数据库表中字段名不一致的情况,可以将查询结果映射成实体对象.下面我们先从最简单的功能开始介绍. 现有的 MyBatis ...

  2. U3D破解方法

    文件我的云盘里面有,然后操作如下:Win版破解方法:1.安装Unity后(联网破解不成功就断网试试),运行破解补丁.2.点击Browse选择Unity所在路径 例如我的Unity安装路径 F:\Sof ...

  3. MATLAB神经网络应用设计【2】

    一.深度学习中经常看到epoch. iteration和batchsize,下面按自己的理解说说这三个的区别: (1)batchsize:批大小.在深度学习中,一般采用SGD训练,即每次训练在训练集中 ...

  4. 自己的markdown笔记

    markdown一些语法 记录自己会用的一些markdown语法,不定期更新,用的软件是hroopad,hroopad下载地址点击跳转.这个书写软件对新手还有中文用户比较友好,左边是markdown语 ...

  5. 这个好玩又实用的jupyter插件我真的爱了

    1 简介 最近在逛github的时候偶然发现一款特别的jupyter插件stickyland,通过它我们可以在jupyter中以一种非常特别的交互操作方式,对我们的的代码单元格进行组织和展示,今天的文 ...

  6. 机器学习实战 | SKLearn最全应用指南

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/41 本文地址:http://www.showmeai.tech/article-det ...

  7. 细说MVC框架的几大困惑:

    --千万不要为了学习框架而学习框架,而是要为了解决问题而学习框架,这才是一个程序员的正确学习之道. --框架是为了解决一个又一个在Web开发中所遇到的问题而诞生的.不同的框架,都是为了解决不同的问题, ...

  8. hdu5197 DZY Loves Orzing(FFT+分治)

    hdu5197 DZY Loves Orzing(FFT+分治) hdu 题目描述:一个n*n的矩阵里填入1~n^2的数,要求每一排从前往后能看到a[i]个数(类似于身高阻挡视线那种),求方案数. 思 ...

  9. Android 12(S) 图形显示系统 - 解读Gralloc架构及GraphicBuffer创建/传递/释放(十四)

    必读: Android 12(S) 图形显示系统 - 开篇 一.前言 在前面的文章中,已经出现过 GraphicBuffer 的身影,GraphicBuffer 是Android图形显示系统中的一个重 ...

  10. python-binasscii模块学习

    作用 binascii模块包含很多在二进制和ASCII编码的二进制表示转换的方法.通常情况不会直接使用这些功能,而是使用像UU,base64编码,或BinHex封装模块. binascii模块包含更高 ...