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,理论上推荐这种方法,尤其是容量较大的时候。
Map循环遍历的五种方法相关推荐
- Map循环遍历的五种方法记录
我们先初始化一个最简单的Map集合 Map<String, String> test = new HashMap<>();test.put("123", & ...
- [java] Map循环遍历的5种方法实现
[java] Map循环遍历的5种方法实现 文章目录 一.方法一(推荐) 二.方法二(推荐) 三.方法三 四.方法四 五.方法五 总结 一.方法一(推荐) 推荐使用此方法效率比较高 Map<St ...
- map集合遍历的五种方法
package com.jackey.topic; import java.util.ArrayList; import java.util.HashMap; import java.util.Ite ...
- JavaScript 数组遍历的五种方法(转)
转自:JavaScript 数组遍历的五种方法 这篇文章主要介绍了JavaScript 数组遍历的五种方法,帮助大家更好的理解和学习使用JavaScript,感兴趣的朋友可以了解下 在使用 JavaS ...
- List集合遍历的五种方法
List集合遍历的五种方法: public static void main(String[] args) {List<Integer> list = Lists.newArrayList ...
- java set 操作_java:Set循环遍历的俩种方法使用
java:Set循环遍历的俩种方法使用 package collection; import java.util.*; public class NewSet { public static void ...
- Vue前端js循环遍历数组八种方法总结最新
前五种常用,第三种个人觉得常用最多,自己复制代码打印试试 var arr = [1, 2, 3, 4, 5, 6];// 第一种 for循环遍历var newArr = [];for(var i = ...
- HashMap遍历的五种方法
在本文中,我们将通过示例讨论在 Java 上遍历 HashMap 的五种最佳方法. 1.使用 Iterator 遍历 HashMap EntrySet 2.使用 Iterator 遍历 HashMap ...
- Map集合遍历的5种方法
TreeMap<Integer,String> map=new TreeMap();map.put(1416270241, "东皇太一");map.put(141627 ...
最新文章
- python:ElementTree操作XML
- redhat linux创建磁盘分区,redhat6.4 挂载硬盘,创建新分区,删除分区
- Linux shell 内部命令与外部命令有什么区别以及怎么辨别
- LaTeX indicator function
- 有用的收藏!javascript/c#/asp.net
- c/c++通用头文件
- 抖音“市长带你看湖北”首场直播:总成交额1793万元
- 基础强化:深入理解JVM中的方法调用
- secp256k1 php,区块链中的数学-secp256k1 签名可锻性以及解决方案
- Labview子VI的创建与调用
- 电脑没有显示云服务器地址,电脑里没有服务器地址
- ENVI5.3.1使用Landsat 8影像进行辐射定标和大气校正实例操作
- Spyder无法启动
- sumifs(多条件求和,多条件计数,数据分类汇总利器)、countifs
- 【OpenCV】人脸旋转角度计算
- Excel调用已有数据利用已经录入的项快速的生成下拉列表
- 真心有用!神器 Jupyter 的可视化 Debug!
- stc_8051_汇编教程_翻译
- 如何从 SAP Spartacus Product Detail 页面,找到其 Angular 实现 Component 的位置
- 多媒体嵌入及css高级应用
热门文章
- sts工具添加背景图片
- Linux内核 sched,struct sched_domain在include / linux / sched.h中的含义(在内核中调度域)...
- 对Unity Mesh的理解
- Python是什么?Python有哪些优势?看完这篇清晰多了
- 职高成长小故事(计算机专业)范文,职高计算机专业学生自我鉴定范文
- tomcat8-maven-plugin依赖下载失败问题
- vim 如何根据文本中的路径,跳转到指定文件 gf
- 普通夫妻 VS 程序员夫妻
- 隐喻--启发 更深刻的理解
- 从0开始如何搭建一个网络游戏-超级详细文档