HasnMap的一种遍历方式:Map.Entry 和 Map.entrySet()

1.Map.Entry 和 Map.entrySet()分别是什么?

   Map.entrySet():根据名字便可知道,这是一个集合,是一个映射项的set。

       Map.Entry<k,v>:是一个接口,表示的是一个映射项(包含key和value)。这个接口有getKey()和getValue()方法。

   所以,两者之间的关系就是: Map.entrySet()这个集合里面是 一个个的Map.Entry<k,v>。现在再看这两个名字也就更好理解了。

2.如何利用他们遍历map?

 1  
 2 package edu.smc.test; 
 3import java.util.HashMap; 
 5 import java.util.Iterator;
 6 import java.util.Map; 
 7 import java.util.Map.Entry;
 8  public class TestEntrySet { 
10     public static void main(String[] args) {
11       Map<String,String> map=new HashMap<String,String>(); 
12         map.put("1", "张三"); 
13         map.put("2", "李四"); 
14         map.put("3", "王五"); 
15         System.out.println("方法一:"); 
17         Iterator iterator=map.entrySet().iterator(); 
18         while(iterator.hasNext()){       
19            Map.Entry<String, String> entry= (Entry<String, String>) iterator.next(); 
20            System.out.println("key:"+entry.getKey()+" value"+entry.getValue());   
21         }        
22         System.out.println("方法二:"); 
24         for (Map.Entry<String, String> m : map.entrySet()) { 
25               System.out.println("key:"+m.getKey()+" value"+m.getValue()); 
26           }  
27      } 
28 } 

 

posted @ 2015-08-25 11:11  岁月静好--lyr  阅读(351)  评论(0编辑  收藏  举报