Map集合的六种遍历方式
学习目标:
熟练掌握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集合的六种遍历方式的更多相关文章
- Map 的四种遍历方式
Map 的四种遍历方式 import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class ...
- Java集合01----ArrayList的遍历方式及应用
Java集合01----ArrayList的遍历方式及应用 前面已经学习了ArrayList的源代码,为了学以 ...
- 遍历Map集合的几种方式
import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entr ...
- Java中Map常用方法总结以及遍历方式的汇总
一.整理: 看到array,就要想到角标. 看到link,就要想到first,last. 看到hash,就要想到hashCode,equals. 看到tree,就要想到两个接口.Comparable, ...
- map的四种遍历方式
map是Java中非常常用的一种数据结构,但map不同于set和list都继承自Collection接口. 所以map没有实现Collection的Iterator 方法,自身没有迭代器来遍历元素. ...
- 实现斗地主纸牌游戏---洗牌 发牌 看底牌的具体功能------Map集合存储方法 遍历的应用
该Demo只是斗地主的游戏的一部分,实现的斗地主的组合牌 洗牌 发牌 看牌的功能,主要应用Map集合进行练习 package cn.lijun import java.util.ArrayList ...
- Map的两种遍历方式
********************************************************************************* ****************** ...
- java Map的四种遍历方式
1.这是最常见的并且在大多数情况下也是最可取的遍历方式,在键值都需要时使用. Map<Integer, Integer> map = new HashMap<Integer, Int ...
- Java中Map的4种遍历方式
第一种方式:这是平常用的最多也最可取的一种遍历方式. for (Map.Entry<String, Object> entry : map.entrySet()) { System.out ...
随机推荐
- IDEA在同一工作空间导入多个项目
在IDEA中导入项目的基本操作是: File--Open--打开工作空间选择要导入的项目 一个项目导入到工作空间啦 但是当你重复这个操作想在这个工作空间继续导入其他模块的时候,就会出现以下问题 不不管 ...
- think php 未登录,禁止访问页面 + 退出登录
1.首先在Local创建一个基类控制器 D:\PHP\phpstudy_pro\WWW\1906A\pyg>php think make:controller goods/Base --plai ...
- php 数组相关的函数?
array()----创建数组array_combine()----通过合并两个数组来创建一个新数组range()----创建并返回一个包含指定范围的元素的数组compact()----建立一个数组a ...
- centos7 安装mysql Package: akonadi-mysql-1.9.2-4.el7.x86_64 (@anaconda)
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release ...
- Kubernetes系列(一)Pod
作者: LemonNan 原文地址: https://juejin.im/post/6862733649272537102 简单介绍 Pod 在 kubernetes 中是一个非常重要的基本概念, 别 ...
- 原生 JS 实现 HTML 转 Markdown,以及其实现逻辑
之前因为一些需要,需要转换部分 HTML 标签成 markdown 格式,但是不知不觉就完善到一个相对完整的函数. 然后我就封装成了一个文件放在了 github ,也简单做了两个示例网页. HTML ...
- 常用QQ快捷键
QQ是腾讯QQ的简称,是一款基于Internet即时通信(IM)软件.目前QQ已经覆盖Microsoft Windows.macOS.Android.iOS.Windows Phone.Linux等多 ...
- ansible 三配置和命令集
一.Ansible配置 Ansible安装好之后的配置文件有如下两种: 1.yum安装,配置文件默认路径为: /etc/ansible/ansible.cfg 2.源码包安装,配置文件路径需要从软件包 ...
- Django orm Q查询补充
Q的简单用法 from django.db.models import Q q = Q() q.children.append(("username", "lyj&quo ...
- 关于使用charles进行mock步骤
1.应用场景: 1.1 测试环境中,可能存在部分依赖外部系统的http接口,因为外部系统未部署或服务不可用等其他原因,导致接口无法正常响应(特别是qa1环境): 而平时的测试主要还是以界面上的功能测试 ...