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 ...
随机推荐
- 渗透测试之BurpSuite工具的使用介绍(三)
若希望从更早前了解BurpSuite的介绍,请访问第二篇(渗透测试之BurpSuite工具的使用介绍(二)):https://www.cnblogs.com/zhaoyunxiang/p/160002 ...
- VS Code调试C代码
1.前言 首先说明的是vscode是代码编辑器,并不是编译器,它本身并不能编译C语言. 在这里我们使用的是MinGW-w64作为C语言的编译器.MinGW-w64的前身是MinGW的全称是:Minim ...
- ubuntu 学习中的坑-2021-11-22
安装ssh-server服务 查看是否安装ssh服务 #dpkg -l | grep ssh 安装ssh-server服务 #sudo apt-get install openssh-server 然 ...
- Mysql8.0.17忘记密码情况下重置密码
1.以管理员身份打开命令窗口cmd,输入命令: net stop mysql 2.开启跳过密码验证登录的mysql服务,输入命令 mysqld --console --skip-grant-table ...
- Eureka 基本教程
目录 Eureka 基本教程 RestTemplate 使用 Eureka 使用 注册中心 提供者 消费者 Eureka 基本教程 RestTemplate 使用 学习Euraka的同学直接滑到最下面 ...
- ArcMap从建库到出图
1前言 本篇博主将介绍关于ArcMap建库.数据采集.拓扑检查.图表.制作符号等的基本操作. 2问题阐述 (1)检查现有block(线要素)图层,保证所有要素闭合,并将其转换为parcel(面要素): ...
- mysql 聚集索引和非聚集索引
聚集索引:聚集索引表示表中存储的数据按照索引的顺序存储,检索效率比非聚集索引高,但对数据更新影响较大: 非聚集索引:非聚集索引表示数据存储在一个地方,索引存储在另一个地方,索引带有指针指向数据的存储位 ...
- *****又错一道,不知道为啥。。。 ybt【例5.19】字符串判等
[题目描述] 判断两个由大小写字母和空格组成的字符串在忽略大小写,且忽略空格后是否相等. [输入] 两行,每行包含一个字符串. [输出] 若两个字符串相等,输出YES,否则输出NO. 代码我觉得没啥问 ...
- 详解 Java 内部类
内部类在 Java 里面算是非常常见的一个功能了,在日常开发中我们肯定多多少少都用过,这里总结一下关于 Java 中内部类的相关知识点和一些使用内部类时需要注意的点. 从种类上说,内部类可以分为四类: ...
- Div+CSS 定位 Position
position 属性规定应用于元素的定位方法的类型(static.relative.fixed.absolute 或 sticky). position: static;HTML 元素默认情况下的定 ...