黑马程序员技术交流社区

标题: 请教问题 [打印本页]

作者: 心之信子    时间: 2014-8-16 21:10
标题: 请教问题
本帖最后由 心之信子 于 2014-8-18 18:42 编辑

import java.util.*;
class HashMapDemo
{
        public static void main(String[] args)
        {
                HashMap<String,HashMap<String,String>> czbk = new HashMap<String,HashMap<String,String>>();
                HashMap<String,String> yure = new HashMap<String,String>();
                HashMap<String,String> jieye = new HashMap<String,String>();

                czbk.put("jieyeban",jieye);
                czbk.put("yureban",yure);

                yure.put("01","zhangshan");
                yure.put("02","lisi");

                jieye.put("01","wangwu");
                jieye.put("02","zhaoliu");
               
                Iterator<String> it = czbk.keySet().iterator();
               
                while(it.hasNext())
                {
                        String roomName = it.next();
                        HashMap<String,String> room = czbk.get(roomName);
                        System.out.println(roomName);
                        
                        Iterator<String> it1 = room.keySet().iterator();
                        while(it1.hasNext())
                        {
                                String id = it1.next();
                                String name = room.get(id);
                                System.out.println(id+":"+name);
                        }
                }        
        }
}
    输出结果为
         jieyeban
     01:wangwu
         02:zhaoliu
         yureban
         01:zhangshan
         02:lisi
请问一下,这个程序中只用到了Map集合中的HashMap为甚麽可以用迭代器?????
Iterator<String> it1 = room.keySet().iterator();


作者: hejinzhong    时间: 2014-8-17 10:05
本帖最后由 hejinzhong 于 2014-8-17 10:07 编辑

  1. 这里是两句嵌套而来的,例如
  2. Iterator<String> it1 = room.keySet().iterator(); 可以分为
  3. set<String> keySet = room.keySet();
  4. Iterator<String> it1 = keySet.iterator();

  5. Iterator<String> it = czbk.keySet().iterator(); 可分为:
  6. set<String> keySet = czbk.keySet();
  7. Iterator<String> it = keySet.iterator();
复制代码


作者: 心之信子    时间: 2014-8-18 18:42
hejinzhong 发表于 2014-8-17 10:05

谢谢答复,终于明白了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2