本帖最后由 xuehuayous 于 2014-3-31 14:48 编辑
在下面这个程序中增强型的for()和Iterator迭代器能达到同样效果,那么其他情况下for()能不能取代Iterator迭代器呢?求大侠指点!
- package cn.itheima;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.Map;
- import java.util.Set;
- public class Java_39_GenericDemo {
- public static void main(String[] args) {
- //定义一个HashMap
- Map<Integer, String> hashMap = new HashMap<Integer, String>();
- //向集合中添加元素
- hashMap.put(1, "zhangsan");
- hashMap.put(2, "lisi");
- hashMap.put(3, "wangwu");
-
- //通过EntrySet取出集合中的关系
- //注:Set<Map.Entry<K,V>> entrySet() 返回此映射中包含的映射关系的 Set视图
- Set<Map.Entry<Integer, String>> entrySet = hashMap.entrySet();
-
- //(1)通过增强for()迭代输出。
- for(Map.Entry<Integer, String> entry : entrySet)
- System.out.println("key:"+entry.getKey()+"\tvalue:"+entry.getValue());
-
- //(2)通过Interator迭代输出
- Iterator<Map.Entry<Integer, String>> it = entrySet.iterator();
- while(it.hasNext()) {
- Map.Entry<Integer, String> me = it.next();
- System.out.println("key:"+me.getKey()+"\tvalue:"+me.getValue());
- }
- }
- }
复制代码
|