map集合是以键值对进行存储值的,所以遍历map集合无非就是获取键和值,根据实际需求,进行获取键和值.

1.无非就是通过map.keySet()获取到值,然后根据键获取到值.

  for(String s:map.keySet()){
System.out.println("key : "+s+" value : "+map.get(s));
}

2.通过Map.Entry(String,String)获取,然后使用entry.getKey()获取到键,通过entry.getValue()获取到值

for(Map.Entry<String, String> entry : map.entrySet()){
System.out.println("键 key :"+entry.getKey()+" 值value :"+entry.getValue());
}

3.其中通过Iterator也是为了最终获得entry,所以理解其用法,可以很好的使用和掌握

public class MapTest01 {
13
14 public static void main(String[] args) {
15 Map<String, String> map=new HashMap<String, String>();
16 map.put("张三1", "男");
17 map.put("张三2", "男");
18 map.put("张三3", "男");
19 map.put("张三4", "男");
20 map.put("张三5", "男");
21
22 //第一种遍历map的方法,通过加强for循环map.keySet(),然后通过键key获取到value值
23 for(String s:map.keySet()){
24 System.out.println("key : "+s+" value : "+map.get(s));
25 }
26 System.out.println("====================================");
27
28 //第二种只遍历键或者值,通过加强for循环
29 for(String s1:map.keySet()){//遍历map的键
30 System.out.println("键key :"+s1);
31 }
32 for(String s2:map.values()){//遍历map的值
33 System.out.println("值value :"+s2);
34 }
35 System.out.println("====================================");
36
37 //第三种方式Map.Entry<String, String>的加强for循环遍历输出键key和值value
38 for(Map.Entry<String, String> entry : map.entrySet()){
39 System.out.println("键 key :"+entry.getKey()+" 值value :"+entry.getValue());
40 }
41 System.out.println("====================================");
42
43 //第四种Iterator遍历获取,然后获取到Map.Entry<String, String>,再得到getKey()和getValue()
44 Iterator<Map.Entry<String, String>> it=map.entrySet().iterator();
45 while(it.hasNext()){
46 Map.Entry<String, String> entry=it.next();
47 System.out.println("键key :"+entry.getKey()+" value :"+entry.getValue());
48 }
49 System.out.println("====================================");
50
51 }
52
53
54 }

4.Map的一些常用的知识点,和取值的变形形式,都需要掌握和了解

 public class MapTest02 {
14
15 public static void main(String[] args) {
16 //1:key,value都是object类型的
17 //2:key必须是唯一的,不唯一,那么后面的value会把前面的value覆盖
18 //3:对于HashMap,key可以为空
19 //4:value可以为空,也可以为空
20 //5:HashTable的key和value不能为空
21 //6:properties的key和value必须为String类型的
22 Map<String , String> map=new HashMap<>();
23 map.put("null", "this is null 1");
24 map.put("null", "this is null 2");
25 System.out.println(map.size());
26 System.out.println(map.get(null));
27
28 System.out.println("=============================");
29 //循环显示map类型的key以及对应的value
30 //三个集合,key的集合,value的集合,键值对的集合
31 Set<String> keys=map.keySet();
32 for(String s:keys){
33 System.out.println(s);
34 }
35 System.out.println("=============================");
36 Collection<String> values=map.values();//值的集合
37 System.out.println(values);
38 System.out.println("=============================");
39 Set<Map.Entry<String, String>> entrys=map.entrySet();//键值对的集合
40 for(Map.Entry<String, String> entry:entrys){
41 System.out.println(entry.getKey()+" "+entry.getValue());
42 }
43
44 }
45 }

用来遍历map集合的方法的更多相关文章

  1. Java 遍历Map集合的方法

    方法一:通过Map.keySet,遍历key和value Map<String, Object> map = new HashMap<>(); for (String key ...

  2. 遍历Map集合的方法

    创建一个MAP的栗子: Map<String, Integer> tempMap = new HashMap<String, Integer>(); tempMap.put(& ...

  3. 遍历Map集合四中方法

    public static void main(String[] args) { Map<String, String> map = new HashMap<String, Stri ...

  4. 遍历Map集合:java.util.Map.Entry、KeySet两种方式

    遍历Map集合的两种方式: 1.用KeySet Map.keySet(),返回一个存放所有key的set集合,通过遍历集合,根据key值取出所有的value值. Map<String,Strin ...

  5. (1)集合 ---遍历map集合

    Map接口     实现Map接口的类用来存储键(key)-值(value) 对.Map 接口的实现类有HashMap和TreeMap等.Map类中存储的键-值对通过键来标识,所以键值不能重复. Ha ...

  6. Java之五种遍历Map集合的方式

    摘要:在java中所有的map都实现了Map接口,因此所有的Map都可以用以下的方式去遍历. 在java中所有的map都实现了Map接口,因此所有的Map都可以用以下的方式去遍历.这篇文章主要给大家介 ...

  7. 键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key, 用个数作为value,放入到map集合中,遍历map集合

    package cn.it.zuoye5; import java.io.File;import java.util.HashMap;import java.util.Iterator;import ...

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

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

  9. 遍历Map集合的四中方法

    ->有这样一个Map集合 Map<String, String> map = new HashMap<String, String>(); map.put(", ...

随机推荐

  1. [BJOI2019] 删数 [dp转贪心结论+线段树]

    题面 传送门 思路 dp部分 以下称合法序列为原题面中可以删空的序列 这个是我在模拟考场上的思路 一开始我是觉得,这个首先可以写成一个dp的形式:$dp[i][j]$表示用$j$个数字填满了目标序列的 ...

  2. JVM(三) 对象的创建过程

    1.对象的创建过程 1.1 . 给对象分配内存 对象的内存分配有两种方式,一种是指针碰撞另外一种是空闲列表的方式,堆是否规整由我们垃圾回收器来决定的 ,如果垃圾回收带有我们的压缩算法,那么他会规整的分 ...

  3. poj1228(稳定凸包+特判最后一条边)

    题目链接:https://vjudge.net/problem/POJ-1228 题意:我是真的没看懂题意QAQ...搜了才知道.题目给了n个点,问这n个点确定的凸包是否能通过添加点来变成一个新的凸包 ...

  4. 通过docker安装elasticsearch和安装ik分词器插件及安装kibana

    前提: 已经安装好docker运行环境: 步骤: 1.安装elasticsearch 6.2.2版本,目前最新版是7.2.0,这里之所以选择6.2.2是因为最新的SpringBoot2.1.6默认支持 ...

  5. java当中请给出一个oracle的helloworld例子

    [学习笔记] 2.oracle的helloworld例子: import java.sql.*;public class OracleHello{    public static void main ...

  6. Python进阶:聊协程

    从一个爬虫说起 Python 2 的时代使用生成器协程,Python 3.7 提供了新的基于 asyncio 和 async / await 的方法.先看一个简单的爬虫代码,爬虫的 scrawl_pa ...

  7. linux服务器安装oracle

    Linux安装Oracle 11g服务器(图文) 应该是最完整的Oracle安装教程了,全程在测试服务器上完成,软件环境:Red Hat Enterprise Linux 6:Oracle 11g ( ...

  8. AJAX一些注释掉的语句

    var sysdept=JSON.parse(localStorage.getItem("loginSysUser")); for(var o in sysdept){ alert ...

  9. Istio技术与实践6:Istio如何为服务提供安全防护能力

    凡是产生连接关系,就必定带来安全问题,人类社会如此,服务网格世界,亦是如此. 今天,我们就来谈谈Istio第二主打功能---保护服务. 那么,便引出3个问题: l  Istio凭什么保护服务? l  ...

  10. Ubuntu Server Swap 分区设置

    方案一:仅在内存耗尽的情况下才使用 swap 分区 # 首先进入 sudo 模式 sysctl vm.swappiness=0 # 临时生效 echo "vm.swappiness = 0& ...