所见所学之Map遍历
最近发现自己好多学习上的漏洞,也许高级的学习有助人查漏补缺的功效吧。
首先就是这个集合,别看它就是一容器。我觉得现在如果能用的好,那也是便利不少。因为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对),同时,它还提供一对兄弟方法
对于以上两个角色的属性,便有一两种常见的遍历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( );
}