如何遍历map中的value

今天在看TIJ时,发现一个Map.Entry 类,发现这个类可以更好的遍历Map中的key和value。 Map.Entry类在API中是这样定义的:

public static interface Map.Entry
 
  

映射项(键-值对)

简单的就是说Map.Entry是个接口,它用来存放映射项(key和value),而map.entrySet()方法返回一个Set,里面存放了这些映射项。

于是对于Map类的遍历,我们就可以采用更加简洁的方法,看下例: 
Set entries = map.entrySet( );
Iterator iterator = entries.iterator( );
while(iterator.hasNext( )) {
   Map.Entry entry =iterator.next( );//entry是一个键值项
   Object key = entry.getKey( );
   Object value = entry.getValue();
}

这样就不用每次都先从Map中拿key,然后再返回到map中取相应的值这么繁琐了。

============================修改分割线====================================


有如下map

               

               Map map = new HashMap();
               map.put("key1", "value1");
               map.put("key2", "value2");

      方法一:      

        Iterator it = map.values().iterator();//使用现成的Iterator :map.values().iterator
        while (it.hasNext()) {
        String val = (String)it.next();
        System.out.println(val);
        }


     方法二:  
 
  
      Set set = map.keySet();  //使用map.keySet()将map的key放到集合中,再遍历之
      for (String s:set) {
      System.out.println(s+","+map.get(s));
      }


你可能感兴趣的:(JavaSE)