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

简介: ~Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值 1:无非就是通过map.keySet()获取到值,然后根据键获取到值   for(String s:map.keySet()){            System.out.println("key : "+s+" value : "+map.get(s));     } 2:通过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 }

 

目录
相关文章
|
18天前
|
前端开发 小程序 Java
java基础:map遍历使用;java使用 Patten 和Matches 进行正则匹配;后端传到前端展示图片三种情况,并保存到手机
这篇文章介绍了Java中Map的遍历方法、使用Pattern和matches进行正则表达式匹配,以及后端向前端传输图片并保存到手机的三种情况。
15 1
|
2月前
|
Go 定位技术 索引
Go 语言Map(集合) | 19
Go 语言Map(集合) | 19
|
2月前
|
存储 前端开发 API
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
该文章详细介绍了ES6中Set和Map数据结构的特性和使用方法,并探讨了它们在前端开发中的具体应用,包括如何利用这些数据结构来解决常见的编程问题。
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
|
27天前
|
存储 分布式计算 Java
Stream很好,Map很酷,但答应我别用toMap():Java开发中的高效集合操作
在Java的世界里,Stream API和Map集合无疑是两大强大的工具,它们极大地简化了数据处理和集合操作的复杂度。然而,在享受这些便利的同时,我们也应当警惕一些潜在的陷阱,尤其是当Stream与Map结合使用时。本文将深入探讨Stream与Map的优雅用法,并特别指出在使用toMap()方法时需要注意的问题,旨在帮助大家在工作中更高效、更安全地使用这些技术。
33 0
|
3月前
|
存储 安全 Java
java集合框架复习----(4)Map、List、set
这篇文章是Java集合框架的复习总结,重点介绍了Map集合的特点和HashMap的使用,以及Collections工具类的使用示例,同时回顾了List、Set和Map集合的概念和特点,以及Collection工具类的作用。
java集合框架复习----(4)Map、List、set
|
3月前
|
Java
【Java集合类面试二十二】、Map和Set有什么区别?
该CSDN博客文章讨论了Map和Set的区别,但提供的内容摘要并未直接解释这两种集合类型的差异。通常,Map是一种键值对集合,提供通过键快速检索值的能力,而Set是一个不允许重复元素的集合。
|
3月前
|
算法 Java 索引
【Java集合类面试四】、 描述一下Map put的过程
这篇文章详细描述了HashMap中put操作的过程,包括首次扩容、计算索引、插入数据以及链表转红黑树和可能的再次扩容。
【Java集合类面试四】、 描述一下Map put的过程
|
3月前
|
存储
|
3月前
|
安全 Java
【Java集合类面试五】、 如何得到一个线程安全的Map?
如何得到一个线程安全的Map的方法包括:使用Collections工具类将Map包装为线程安全,使用java.util.concurrent包下的ConcurrentHashMap,以及不推荐使用性能较差的Hashtable。
|
3月前
|
安全 Java
【Java集合类面试三】、Map接口有哪些实现类?
这篇文章介绍了Java中Map接口的几种常用实现类:HashMap、LinkedHashMap、TreeMap和ConcurrentHashMap,以及它们适用的不同场景和线程安全性。