Java中Map循环遍历的五种方法实现
因为Map比较常用,所以今天来总结下Map取值比较常用的几种遍历方法。
1、创建一个Enum
public enum FactoryStatus { BAD(0,"ou"), GOOD(1,"yeah"); private int status; private String description; FactoryStatus(int status, String description){ this.status=status; this.description=description; } public int getStatus() { return status; } public String getDescription(){ return description; } }
这个Enum作为Map的value。
2、开始遍历
方法一
Set set = map.keySet(); for (Object o : set) { System.out.println(o+""+map.get(o)); }
通过key的set集合进行遍历,然后通过key来取map的value,此方法用的比较多。
方法二
Set set = map.keySet(); Iterator iterator = set.iterator(); while (iterator.hasNext()){ Object next = iterator.next(); System.out.println("key为:"+next+",value为:"+map.get(next)); }
将key的set集合以迭代器的方式遍历出来,然后通过key来取map的value。
方法三
Set<Map.Entry<String, FactoryStatus>> entries = map.entrySet(); Iterator<Map.Entry<String, FactoryStatus>> iterator1 = entries.iterator(); while (iterator1.hasNext()){ Map.Entry<String, FactoryStatus> next = iterator1.next(); System.out.println("方法三的key为:"+next.getKey()+",value为:"+next.getValue()); }
将Map的键值对以迭代器的方式遍历出来,然后通过.getKey()与.getValue()方法取k、v的值。
方法四
Collection<FactoryStatus> values = map.values(); for (FactoryStatus value : values) { System.out.println("方法四的value为:"+value); }
此方法直接取出map的value并放在collection中,然后将v循环遍历。
方法五
Set<Map.Entry<String, FactoryStatus>> entries = map.entrySet(); for (Map.Entry<String, FactoryStatus> entry : entries) { System.out.println("方法五的key为:"+entry.getKey()+",value为:"+entry.getValue()); }
取得所有键值对来通过foreach循环,遍历出所有k、v,理论上推荐这种方法,尤其是容量较大的时候。
到此这篇关于Java中Map循环遍历的五种方法的文章就介绍到这了,更多相关Java Map循环遍历内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringBoot在Controller层接收参数的n种姿势(超详细)
这篇文章主要介绍了SpringBoot在Controller层接收参数的常用方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-01-01详解SpringBoot AOP 拦截器(Aspect注解方式)
这篇文章主要介绍了详解SpringBoot AOP 拦截器 Aspect,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-05-05
最新评论