Java实现Map集合遍历的四种常见方式与用法分析
本文实例讲述了Java实现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,所以理解其用法,可以很好的使用和掌握
package com.bie; import java.util.HashMap; import java.util.Iterator; import java.util.Map; /** * @author BieHongLi * @version 创建时间:2017年2月25日 下午8:58:54 * */ public class MapTest01 { public static void main(String[] args) { Map<String, String> map=new HashMap<String, String>(); map.put("张三1", "男"); map.put("张三2", "男"); map.put("张三3", "男"); map.put("张三4", "男"); map.put("张三5", "男"); //第一种遍历map的方法,通过加强for循环map.keySet(),然后通过键key获取到value值 for(String s:map.keySet()){ System.out.println("key : "+s+" value : "+map.get(s)); } System.out.println("===================================="); //第二种只遍历键或者值,通过加强for循环 for(String s1:map.keySet()){//遍历map的键 System.out.println("键key :"+s1); } for(String s2:map.values()){//遍历map的值 System.out.println("值value :"+s2); } System.out.println("===================================="); //第三种方式Map.Entry<String, String>的加强for循环遍历输出键key和值value for(Map.Entry<String, String> entry : map.entrySet()){ System.out.println("键 key :"+entry.getKey()+" 值value :"+entry.getValue()); } System.out.println("===================================="); //第四种Iterator遍历获取,然后获取到Map.Entry<String, String>,再得到getKey()和getValue() Iterator<Map.Entry<String, String>> it=map.entrySet().iterator(); while(it.hasNext()){ Map.Entry<String, String> entry=it.next(); System.out.println("键key :"+entry.getKey()+" value :"+entry.getValue()); } System.out.println("===================================="); } }
4. Map的一些常用的知识点,和取值的变形形式,都需要掌握和了解
package com.bie; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Set; /** * @author BieHongLi * @version 创建时间:2017年2月26日 上午11:29:59 * */ public class MapTest02 { public static void main(String[] args) { //1:key,value都是object类型的 //2:key必须是唯一的,不唯一,那么后面的value会把前面的value覆盖 //3:对于HashMap,key可以为空 //4:value可以为空,也可以为空 //5:HashTable的key和value不能为空 //6:properties的key和value必须为String类型的 Map<String , String> map=new HashMap<>(); map.put("null", "this is null 1"); map.put("null", "this is null 2"); System.out.println(map.size()); System.out.println(map.get(null)); System.out.println("============================="); //循环显示map类型的key以及对应的value //三个集合,key的集合,value的集合,键值对的集合 Set<String> keys=map.keySet(); for(String s:keys){ System.out.println(s); } System.out.println("============================="); Collection<String> values=map.values();//值的集合 System.out.println(values); System.out.println("============================="); Set<Map.Entry<String, String>> entrys=map.entrySet();//键值对的集合 for(Map.Entry<String, String> entry:entrys){ System.out.println(entry.getKey()+" "+entry.getValue()); } } }
更多java相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
相关文章
Java面试题篇之Sleep()方法与Wait()方法的区别详解
这篇文章主要给大家介绍了关于Java面试题篇之Sleep()方法与Wait()方法区别的相关资料,wait()是Object类中的方法,而sleep()是Thread类中的静态方法,wait()方法用于多个线程之间的协作和通信,而sleep()方法用于线程的休眠,需要的朋友可以参考下2024-07-07jpa多条件查询重写Specification的toPredicate方法
这篇文章主要介绍了多条件查询重写Specification的toPredicate方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-11-11SpringBoot全局异常处理之多个处理器匹配顺序(最新推荐)
这篇文章主要介绍了SpringBoot全局异常处理之多个处理器匹配顺序(最新推荐),调试源码可见匹配顺序为:异常层级高者优先,再清楚点,子类异常处理器优先,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧2024-03-03Intellij 下 mybatis 插件 MyBatisCodeHelperPro破解步骤详解
这篇文章主要介绍了Intellij 下 mybatis 插件 MyBatisCodeHelperPro破解步骤,本文分步骤给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-09-09httpclient的disableConnectionState方法工作流程
这篇文章主要为大家介绍了httpclient的disableConnectionState方法工作流程源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-11-11
最新评论