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

目录
相关文章
|
14天前
Collection和Map的遍历方式
Collection和Map的遍历方式
12 0
|
14天前
|
测试技术
你知道几种遍历map的方式?
你知道几种遍历map的方式?
|
14天前
|
C++
c++ unordered_map4种遍历方式
c++ unordered_map4种遍历方式
63 0
|
10月前
List,Map 三种遍历方式:(总结理解)
List,Map 三种遍历方式:(总结理解)
46 0
|
10月前
遍历 ArrayList和遍历 Map的几种方式
遍历 ArrayList和遍历 Map的几种方式
47 0
|
11月前
遍历HashMap的四种方式
遍历HashMap的四种方式
55 0
|
编译器
遍历Map的六种方式
遍历Map的六种方式
151 0
遍历Map的六种方式
|
Scala 开发者
Map 的遍历 | 学习笔记
快速学习 Map 的遍历
82 0
|
缓存 Go 开发者
map 的遍历 | 学习笔记
快速学习 map 的遍历
84 0
Map的遍历方式
Map的遍历方式
119 0