博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java中如何遍历Map对象的4种方法
阅读量:6922 次
发布时间:2019-06-27

本文共 3645 字,大约阅读时间需要 12 分钟。

 

方法一 通过Map.entrySet遍历key和value,在for-each循环中使用entries来遍历.推荐,尤其是容量大时

这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。

1 Map
map = new HashMap
(); 2 3 for (Map.Entry
entry : map.entrySet()) { 4 5 System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); 6 7 }

 

方法二、通过Map.keySet遍历key,通过键找值value遍历(效率低),普遍使用,二次取值

1 Map
map = new HashMap
(); 2 3 for (Integer key : map.keySet()) { 4 5 Integer value = map.get(key); 6 7 System.out.println("Key = " + key + ", Value = " + value); 8 9 }

 

方法三 如果只需要map中的键或者值,你可以通过Map.keySet或Map.values来实现遍历,而不是用entrySet。在for-each循环中遍历keys或values。

1 Map
map = new HashMap
(); 2 3 //遍历map中的键 4 5 for (Integer key : map.keySet()) { 6 7 System.out.println("Key = " + key); 8 9 } 10 11 //遍历map中的值 12 13 for (Integer value : map.values()) { 14 15 System.out.println("Value = " + value); 16 17 }

 

方法四:通过Map.entrySet使用iterator遍历key和value

1 Map
map = new HashMap
(); 2 3 Iterator
> entries = map.entrySet().iterator(); 4 5 while (entries.hasNext()) { 6 7 Map.Entry
entry = entries.next(); 8 9 System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); 10 11 }

 

=================================我=======是=======分=======割=======线=================================

全部代码:

1 public static void main(String[] args) { 2         init(); 3         traversal(); 4     } 5  6     // HashMap按照哈希算法来存取键对象,有很好的存取性能 7     private static HashMap
hMap = new HashMap<>(); 8 9 // TreeMap实现了SortedMap接口,能对键对象进行排序。支持自然排序和客户化排序两种方式。10 private static TreeMap
tMap = new TreeMap<>();11 12 // map的赋值13 public static void init() {14 hMap.put("1", "value1");15 hMap.put("2", "value2");16 hMap.put("3", "value3");17 }18 19 // map的遍历20 public static void traversal() {21 // 第一种:普遍使用,二次取值22 System.out.println("通过Map.keySet遍历key和value:");23 for (String key : hMap.keySet()) {24 System.out.println("key= " + key + " and value= " + hMap.get(key));25 }26 27 // 第二种28 System.out.println("通过Map.entrySet使用iterator遍历key和value:");29 Iterator
> it = hMap.entrySet().iterator();30 while (it.hasNext()) {31 Map.Entry
entry = it.next();32 System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());33 }34 35 // 第三种:推荐,尤其是容量大时36 System.out.println("通过Map.entrySet遍历key和value");37 for (Map.Entry
entry : hMap.entrySet()) {38 System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());39 }40 41 // 第四种42 System.out.println("通过Map.values()遍历所有的value,但不能遍历key");43 for (String v : hMap.values()) {44 System.out.println("value= " + v);45 }46 }

输出结果:

1 //第一种 2 通过Map.keySet遍历key和value: 3 key= 1 and value= value1 4 key= 2 and value= value2 5 key= 3 and value= value3 6  7 //第二种 8 通过Map.entrySet使用iterator遍历key和value: 9 key= 1 and value= value110 key= 2 and value= value211 key= 3 and value= value312 13 //第三种14 通过Map.entrySet遍历key和value15 key= 1 and value= value116 key= 2 and value= value217 key= 3 and value= value318 19 //第四种20 通过Map.values()遍历所有的value,但不能遍历key21 value= value122 value= value223 value= value3

 

 转载自:

 

 

转载于:https://www.cnblogs.com/DDgougou/p/8644905.html

你可能感兴趣的文章
第一次开博客
查看>>
我的友情链接
查看>>
恶意扫描软件
查看>>
Java运行时环境JPEGImageWriter.writeImage函数整数溢出漏洞_
查看>>
九九乘法表
查看>>
Mac系统常用快捷键及技巧
查看>>
linux基础篇-17,find命令详解
查看>>
FastDFS分布式文件存储搭建
查看>>
autolay适配ios7以及iPhone4
查看>>
CentOS 7常用软件安装
查看>>
Linux(4)-03
查看>>
Memory Overcommitment in the ESX Server
查看>>
我的友情链接
查看>>
ads模式Samba服务器配置示例
查看>>
Android怎么打开和调用系统自带的程序示例(06)
查看>>
Exchange2013 SP1的详细安装及配置
查看>>
IOS中定时器NSTimer的开启与关闭以及怎样计算label的大小的方法
查看>>
将博客搬至CSDN
查看>>
浅 谈 Servlet
查看>>
怎么把PDF文档中的重要信息改成红色字体
查看>>