本文主要介绍了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循环遍历内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
沃梦达教程
本文标题为:Java中Map循环遍历的五种方法实现
基础教程推荐
猜你喜欢
- Java实现查找文件和替换文件内容 2023-04-06
- Java实现线程插队的示例代码 2022-09-03
- springboot自定义starter方法及注解实例 2023-03-31
- JDK数组阻塞队列源码深入分析总结 2023-04-18
- java实现多人聊天系统 2023-05-19
- ConditionalOnProperty配置swagger不生效问题及解决 2023-01-02
- Java文件管理操作的知识点整理 2023-05-19
- Java数据结构之对象比较详解 2023-03-07
- java基础知识之FileInputStream流的使用 2023-08-11
- Java并发编程进阶之线程控制篇 2023-03-07