点击打开链接--------android培训、java培训、期待与您交流!-----------
与Collection集合不同Map集合中没有iterator()迭代方法,那么如何取出所有的值那?
有以下两种方法:
1、 在java API Map集合的共用方法中有一个keySet()方法,它返回此映射中包含的键的Set视图,其返回值是一个Set<k>结果集。而Set 集合有迭代器,然后用get()方法取出其中的值。
示例代码如下:
Public static void main()
{
Map<String,String>map=new HashMap<String,String>();
Map.put(“1”,zyy1);
Map.put(“2”,zyy2);
Map.put(“3”,zyy3);
//首先取出map集合的所有键的Set集合,keySet();
Set<String>keyset=map.keySet();
//利用set集合的迭代器
Iterator<String> it=keyset.iterator();
While(it.hasNext())
{
String key=it.next();
//通过map集合的get方法获取其对应的值。
String value=map.get(key);
System.out.println(key,value);
}
}
2, Set<Map.Entry<K,V>> entrySet()
返回此映射中包含的映射关系的 Set 视图。该 set 受映射支持,所以对映射的更改可在此 set 中反映出来,反之亦然。如果对该 set 进行迭代的同时修改了映射(通过迭代器自己的 remove 操作,或者通过对迭代器返回的映射项执行 setValue 操作除外),则迭代结果是不确定的。set 支持元素移除,通过 Iterator.remove、Set.remove、removeAll、retainAll 和 clear 操作可从映射中移除相应的映射关系。它不支持 add 或 addAll 操作。
示例代码:
Public static void main()
{
Map<String,String>map=new HashMap<String,String>();
Map.put(“1”,zyy1);
Map.put(“2”,zyy2);
Map.put(“3”,zyy3);
//将Map集合中的映射关系取出,存入到set集合中。
Set<Map.Entry<String,String>>entrySet=map.entrySet();
Iterator< Map.Entry<String,String>> it= entrySet.iterator();
While(it.hasNext())
{
Map.Entry<String,String>me=it.next();
String key=me.getKey();
String value=me.getvalue();
System.out.println(key+”:”+value);
}
}