java中Map遍历的方法

让人想犯罪 __ 提交于 2020-03-14 04:20:34
 1 public class testMap {
 2 public static void main(String[] args) {
 3     
 4     Map<String, String> map=new HashMap<String,String>();
 5     map.put("a", "aaaa");
 6     map.put("b", "bbbb");
 7     map.put("c", "cccc");
 8     map.put("d", "dddd");
 9     map.put("e", "eeee");
10     
11 //    iterator 遍历
12     Set set=map.keySet();
13     for(Iterator iter=set.iterator();iter.hasNext();){
14         String key=(String) iter.next();
15         String value=(String) map.get(key);
16         System.out.println(key+"===="+value);
17     }
18     
19     
20 //    增强for循环遍历    
21 //    查找键(key)
22     for(Object key:map.keySet()){
23         System.out.println("集合的键是"+"#########"+key);
24     }
25 //    查找值(values)
26     for(Object value:map.values()){
27         System.out.println("集合的值是"+"#########"+value);
28     }
29 //    同时输出键和值(该方法不是最优选择,一般不推荐使用)
30     for(Object key:map.keySet()){
31         System.out.println("集合的键值分别是"+key+"+"+map.get(key));
32     }
33 //    entryset输出键和值(推荐)
34     for(Map.Entry<String, String> keyvalEntry:map.entrySet()){
35         System.out.println("entry输出键值"+keyvalEntry.getKey()+":"+keyvalEntry.getValue());
36     }

 

输出结果:a====aaaab====bbbbc====ccccd====dddde====eeee集合的键是#########a集合的键是#########b集合的键是#########c集合的键是#########d集合的键是#########e集合的值是#########aaaa集合的值是#########bbbb集合的值是#########cccc集合的值是#########dddd集合的值是#########eeee集合的键值分别是a+aaaa集合的键值分别是b+bbbb集合的键值分别是c+cccc集合的键值分别是d+dddd集合的键值分别是e+eeeeentry输出键值a:aaaaentry输出键值b:bbbbentry输出键值c:ccccentry输出键值d:ddddentry输出键值e:eeee

总结

如果只是获取key,或者value,推荐使用keySet或者values方式

如果同时需要key和value推荐使用entrySet

如果需要在遍历过程中删除元素推荐使用Iterator

如果需要在遍历过程中增加元素,可以新建一个临时map存放新增的元素,等遍历完毕,再把临时map放到原来的map中


 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!