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====aaaa
b====bbbb
c====cccc
d====dddd
e====eeee

集合的键是#########a
集合的键是#########b
集合的键是#########c
集合的键是#########d
集合的键是#########e

集合的值是#########aaaa
集合的值是#########bbbb
集合的值是#########cccc
集合的值是#########dddd
集合的值是#########eeee

集合的键值分别是a+aaaa
集合的键值分别是b+bbbb
集合的键值分别是c+cccc
集合的键值分别是d+dddd
集合的键值分别是e+eeee

entry输出键值a:aaaa
entry输出键值b:bbbb
entry输出键值c:cccc
entry输出键值d:dddd
entry输出键值e:eeee

总结

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

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

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

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



 

posted on 2018-02-27 08:12  奋斗中的菜鸟程序猿  阅读(225)  评论(0编辑  收藏  举报