所见所学之Map遍历

2018-11-07  本文已影响0人  JANruer

最近发现自己好多学习上的漏洞,也许高级的学习有助人查漏补缺的功效吧。

首先就是这个集合,别看它就是一容器。我觉得现在如果能用的好,那也是便利不少。因为Map是一个接口,所以我们需要它的实例的时候,是用它的子类 HashMap来new对象的。

Map 中提供 的常用方法之

V     get(Object   key)    :  返回键映射的值(如果这张Map不包含映射的键则返回null)。

Set<K>      keySet()       :     返回一个Set,Map视图中包含的键。

Collection<V>    values()      :    返回一个Collection,Map中包含的值。

Set<Map.Entry<K,V>>     entrySet()     :      返回一个Set (Map.Entryl类型的集合),包含在                                                                       这 张Map上的映射。

然而,Map.Entry<K,V >还是Map的一个内部接口,它表示Map中的一个实体(一个key-value对),同时,它还提供一对兄弟方法

K     getKey()    :    返回这个条目对应的键。

V    getValue()    :   返回这个条目对应的值

对于以上两个角色的属性,便有一两种常见的遍历Map的方法:

第一种:

Map  map = new HashMap();

Iterator  iterator = map . entrySet(  ) . iterator();

while (iterator . hasNext( )){

        Map . Entry   entry = iterator . next( );

       Object  key =  entry . getKey( );

}

第二种:

Map map = new HashMap(  ); 

   Iterator iterator   keySet= map . keySet(  ).iterator() ;

           while(iterator . hasNext( )) {

                   Object key = iterator . next( ) ;

                   Object value = map . get(key) ;

           }

第三种:
  Map map = new HashMap( ) ;

      Iterator iterator =  map . values( ) . iterator( );

      while(iterator . hasNext( )) {

             Object value = iterator . next( ); 

     }

上一篇下一篇

猜你喜欢

热点阅读