因为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,理论上推荐这种方法,尤其是容量较大的时候。

Map循环遍历的五种方法相关推荐

  1. Map循环遍历的五种方法记录

    我们先初始化一个最简单的Map集合 Map<String, String> test = new HashMap<>();test.put("123", & ...

  2. [java] Map循环遍历的5种方法实现

    [java] Map循环遍历的5种方法实现 文章目录 一.方法一(推荐) 二.方法二(推荐) 三.方法三 四.方法四 五.方法五 总结 一.方法一(推荐) 推荐使用此方法效率比较高 Map<St ...

  3. map集合遍历的五种方法

    package com.jackey.topic; import java.util.ArrayList; import java.util.HashMap; import java.util.Ite ...

  4. JavaScript 数组遍历的五种方法(转)

    转自:JavaScript 数组遍历的五种方法 这篇文章主要介绍了JavaScript 数组遍历的五种方法,帮助大家更好的理解和学习使用JavaScript,感兴趣的朋友可以了解下 在使用 JavaS ...

  5. List集合遍历的五种方法

    List集合遍历的五种方法: public static void main(String[] args) {List<Integer> list = Lists.newArrayList ...

  6. java set 操作_java:Set循环遍历的俩种方法使用

    java:Set循环遍历的俩种方法使用 package collection; import java.util.*; public class NewSet { public static void ...

  7. Vue前端js循环遍历数组八种方法总结最新

    前五种常用,第三种个人觉得常用最多,自己复制代码打印试试 var arr = [1, 2, 3, 4, 5, 6];// 第一种 for循环遍历var newArr = [];for(var i = ...

  8. HashMap遍历的五种方法

    在本文中,我们将通过示例讨论在 Java 上遍历 HashMap 的五种最佳方法. 1.使用 Iterator 遍历 HashMap EntrySet 2.使用 Iterator 遍历 HashMap ...

  9. Map集合遍历的5种方法

    TreeMap<Integer,String> map=new TreeMap();map.put(1416270241, "东皇太一");map.put(141627 ...

最新文章

  1. python:ElementTree操作XML
  2. redhat linux创建磁盘分区,redhat6.4 挂载硬盘,创建新分区,删除分区
  3. Linux shell 内部命令与外部命令有什么区别以及怎么辨别
  4. LaTeX indicator function
  5. 有用的收藏!javascript/c#/asp.net
  6. c/c++通用头文件
  7. 抖音“市长带你看湖北”首场直播:总成交额1793万元
  8. 基础强化:深入理解JVM中的方法调用
  9. secp256k1 php,区块链中的数学-secp256k1 签名可锻性以及解决方案
  10. Labview子VI的创建与调用
  11. 电脑没有显示云服务器地址,电脑里没有服务器地址
  12. ENVI5.3.1使用Landsat 8影像进行辐射定标和大气校正实例操作
  13. Spyder无法启动
  14. sumifs(多条件求和,多条件计数,数据分类汇总利器)、countifs
  15. 【OpenCV】人脸旋转角度计算
  16. Excel调用已有数据利用已经录入的项快速的生成下拉列表
  17. 真心有用!神器 Jupyter 的可视化 Debug!
  18. stc_8051_汇编教程_翻译
  19. 如何从 SAP Spartacus Product Detail 页面,找到其 Angular 实现 Component 的位置
  20. 多媒体嵌入及css高级应用

热门文章

  1. sts工具添加背景图片
  2. Linux内核 sched,struct sched_domain在include / linux / sched.h中的含义(在内核中调度域)...
  3. 对Unity Mesh的理解
  4. Python是什么?Python有哪些优势?看完这篇清晰多了
  5. 职高成长小故事(计算机专业)范文,职高计算机专业学生自我鉴定范文
  6. tomcat8-maven-plugin依赖下载失败问题
  7. vim 如何根据文本中的路径,跳转到指定文件 gf
  8. 普通夫妻 VS 程序员夫妻
  9. 隐喻--启发 更深刻的理解
  10. 从0开始如何搭建一个网络游戏-超级详细文档