Map集合遍历的四种方式理解和简单使用

 

~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,所以理解其用法,可以很好的使用和掌握

 1 package com.bie;
2
3 import java.util.HashMap;
4 import java.util.Iterator;
5 import java.util.Map;
6
7 /**
8 * @author BieHongLi
9 * @version 创建时间:2017年2月25日 下午8:58:54
10 *
11 */
12 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的一些常用的知识点,和取值的变形形式,都需要掌握和了解

 1 package com.bie;
2
3 import java.util.Collection;
4 import java.util.HashMap;
5 import java.util.Map;
6 import java.util.Set;
7
8 /**
9 * @author BieHongLi
10 * @version 创建时间:2017年2月26日 上午11:29:59
11 *
12 */
13 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集合遍历的四种方式理解和简单使用-----不能for循环遍历的更多相关文章

  1. Map集合遍历的四种方式理解和简单使用

    ~Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值 1:无非就是通过map.keySet()获取到值,然后根据键获取到值 for(String s:m ...

  2. map遍历的四种方式

    原文 http://blog.csdn.net/dayanxuqun/article/details/26348277 以下是map遍历的四种方式: // 一.推荐只用value的时候用,都懂的... ...

  3. Java Enum枚举 遍历判断 四种方式(包括 Lambda 表达式过滤)

    示例代码如下: package com.miracle.luna.lambda; import java.util.Arrays; /** * @Author Miracle Luna * @Date ...

  4. PHP数组循环遍历的四种方式

     1.使用for循环遍历数组     conut($arr);用于统计数组元素的个数.     for循环只能用于遍历,纯索引数组!!!!     如果存在关联数组,count统计时会统计两种数组的总 ...

  5. JAVA中集合输出的四种方式

    在JAVA中Collection输出有四种方式,分别如下: 一) Iterator输出. 该方式适用于Collection的所有子类. public class Hello { public stat ...

  6. java中Map遍历的四种方式

    在java中所有的map都实现了Map接口,因此所有的Map(如HashMap, TreeMap, LinkedHashMap, Hashtable等)都可以用以下的方式去遍历. 方法一:在for循环 ...

  7. Java List集合 遍历 四种方式(包含 Lambda 表达式遍历)

    示例代码如下: package com.miracle.luna.lambda; import java.util.ArrayList; import java.util.List; /** * @A ...

  8. Java Array数组 遍历 四种方式(包含 Lambda 表达式遍历)

    示例代码如下: package com.miracle.luna.lambda; import java.util.Arrays; /** * @Author Miracle Luna * @Date ...

  9. php中的数组遍历的几种方式

    [(重点)数组循环遍历的四种方式]   1.使用for循环遍历数组     conut($arr);用于统计数组元素的个数.     for循环只能用于遍历,纯索引数组!!!!     如果存在关联数 ...

随机推荐

  1. [Spring] 关联类和bean | autowire=byName|byType

    ref:https://www.tutorialspoint.com/spring/spring_autowiring_byname.htm project:Working Set: Spring&g ...

  2. Ubuntu16.04安装8821CE 无线网卡无驱动

    已解决 参考链接:https://unix.stackexchange.com/question ... -mint-18-2 内容 Worked solution (Requirements: ke ...

  3. Lasso linear model实例 | Proliferation index | 评估单细胞的增殖指数

    背景:We developed a cell-cycle scoring approach that uses expression data to compute an index for ever ...

  4. 如何下载一个物种的全部EST序列 | NCBI | 表达序列标签

    EST:表达序列标签,expressed sequence tags . 顾名思义,很好理解,就是表达出来的序列,即从基因组DNA上表达出来的RNA,但是我们没法测序RNA,所以我们最终测的是表达序列 ...

  5. hdu-5985 概率DP

    http://acm.hdu.edu.cn/showproblem.php?pid=5985 作为队里负责动态规划的同学,做不出来好无奈啊.思考了一个下午,最好还是参考了别人的思想才写出来,数学啊!! ...

  6. Luffy之Xadmin以及首页搭建(轮播图,导航)

    1. 首页 1.1 轮播图 admin站点配置支持图片上传 pip install Pillow 默认情况下,Django会将上传的图片保存在本地服务器上,需要配置保存的路径.我们可以将上传的文件保存 ...

  7. Django模型类之models字段类型和参数以及元数据meta

    models之字段类型和参数 示例: # class Test(models.Model): # courses_test # """测试学习用""& ...

  8. python基础之lambda,sort,filter,map,递归函数的运用

    内容梗概:1. lamda 匿名函数2. sorted()3. filter()4. map()5. 递归函数 1.lambda 形式: lambda 参数:返回值 f = lambda x,y: x ...

  9. Ubuntu深度学习环境搭建 tensorflow+pytorch

    目前电脑配置:Ubuntu 16.04 + GTX1080显卡 配置深度学习环境,利用清华源安装一个miniconda环境是非常好的选择.尤其是今天发现conda install -c menpo o ...

  10. 6月16 ThinkPHP连接数据库及Model数据模型层--------查询及数据添加

    连接数据库配置及Model数据模型层 convertion.php config.php 1.在config.php做数据库连接配置 2.修改配置 /* 数据库设置 */ 'DB_TYPE' => ...