Map俩种遍历方式

简介:

Map本身没有迭代器因而在遍历其中元素时需要采取新的措施,在JDK中提供了俩种方法

keySet

Set<K> keySet()
返回此映射中包含的键的  Set 视图。该 set 受映射支持,所以对映射的更改可在此 set 中反映出来,反之亦然。如果对该 set 进行迭代的同时修改了映射(通过迭代器自己的 remove 操作除外),则迭代结果是不确定的。set 支持元素移除,通过Iterator.remove、Set.remove、removeAll、retainAll 和 clear 操作可从映射中移除相应的映射关系。它不支持 add 或 addAll 操作。
返回:
此映射中包含的键的 set 视图

 1 package com.Map;
 2 
 3 import java.util.HashMap;
 4 import java.util.HashSet;
 5 import java.util.Iterator;
 6 import java.util.Map;
 7 import java.util.Random;
 8 import java.util.Set;
 9 
10 public class MapKeySet {
11     public static void main(String[] args) {
12         Map<String, String> map = new HashMap<String, String>();
13         map.put("01","xsf");
14         map.put("02","mdx");
15         Set<String> keySet = map.keySet();
16         //获取迭代器
17         Iterator<String> it = keySet.iterator();
18         while(it.hasNext()){
19             String key = it.next();
20             //先取出key再通过get(key)方式获取值
21             String value = map.get(key);
22             System.out.println("key"+key+"--->value:"+value);
23     
24         }
25     }
26 }

 


entrySet

Set<Map.Entry<K,V>> entrySet()
返回此映射中包含的映射关系的  Set 视图。该 set 受映射支持,所以对映射的更改可在此 set 中反映出来,反之亦然。如果对该 set 进行迭代的同时修改了映射(通过迭代器自己的 remove 操作,或者通过对迭代器返回的映射项执行 setValue 操作除外),则迭代结果是不确定的。set 支持元素移除,通过 Iterator.remove、Set.remove、removeAll、retainAll 和 clear 操作可从映射中移除相应的映射关系。它不支持 add 或 addAll 操作。
返回:
此映射中包含的映射关系的 set 视图
 1 package com.Map;
 2 
 3 import java.util.HashMap;
 4 import java.util.Iterator;
 5 import java.util.Map;
 6 import java.util.Set;
 7 
 8 public class MapEntrySet {
 9     public static void main(String[] args) {
10         Map<String,String> map = new HashMap<String, String>();
11         map.put("01","xsf");
12         map.put("02","mdx");
13         //设置entryset
14         Set<Map.Entry<String, String>> entryset = map.entrySet();
15         //将enterset 放入到迭代器中
16         /*Iterator<Map.Entry<String, String>> it = entryset.iterator();
17         //开始迭代
18         while(it.hasNext()){
19             //获取Map.entry关系对象
20             Map.Entry<String, String> me = it.next();
21             String key = me.getKey();
22             String value = me.getValue();
23             System.out.println("key: "+key+"-->value: "+value);
24         }*/
25         for(Map.Entry<String, String> entry: map.entrySet()){
26             String key = entry.getKey();
27             String value = entry.getValue();
28             System.out.println("key: "+key+"-->value: "+value);
29         }
30     
31     } 
32 }


转载:http://blog.csdn.net/xsf50717/article/details/45072059

目录
相关文章
|
7月前
|
Go
go语言中遍历映射(map)
go语言中遍历映射(map)
183 8
Collection和Map的遍历方式
Collection和Map的遍历方式
65 0
|
测试技术
你知道几种遍历map的方式?
你知道几种遍历map的方式?
137 0
|
30天前
|
存储 安全 Go
Map的遍历与判断键是否存在-《Go语言实战指南》
本文介绍了 Go 语言中对 `map` 的常见操作,包括遍历所有项和判断键是否存在。通过 `for range` 可以遍历 `map` 的键值对、仅键或仅值(需忽略键)。注意,`map` 遍历顺序是随机的。判断键是否存在时,使用双赋值语法 `value, ok := map[key]`,其中 `ok` 表示键是否存在。直接访问不存在的键会返回类型的零值,可能导致逻辑错误。掌握这些机制可更安全高效地处理键值对数据。
|
16天前
|
存储 JavaScript 前端开发
for...of循环在遍历Set和Map时的注意事项有哪些?
for...of循环在遍历Set和Map时的注意事项有哪些?
37 0
使用 entrySet 遍历 Map 类集合 KV
使用 entrySet 遍历 Map 类集合 KV
|
6月前
|
Go
go语言for遍历映射(map)
go语言for遍历映射(map)
185 12
|
7月前
|
存储 Go
go语言 遍历映射(map)
go语言 遍历映射(map)
107 2
|
8月前
|
前端开发 小程序 Java
java基础:map遍历使用;java使用 Patten 和Matches 进行正则匹配;后端传到前端展示图片三种情况,并保存到手机
这篇文章介绍了Java中Map的遍历方法、使用Pattern和matches进行正则表达式匹配,以及后端向前端传输图片并保存到手机的三种情况。
105 1