黑马程序员技术交流社区

标题: HashMap 里面的遍历迭代获取 [打印本页]

作者: 李健09    时间: 2013-8-14 21:40
标题: HashMap 里面的遍历迭代获取
本帖最后由 李健09 于 2013-8-16 10:31 编辑
  1. <p><p><p>  
  2.         public static void getStudentInfo(HashMap<String,String> roomMap)
  3.         {
  4.                 Iterator<String> it=roomMap.keySet().iterator();
  5.                 while(it.hasNext())
  6.                 {
  7.                         String id=it.next();
  8.                         String name=roomMap.get(id);
  9.                         sop(id+":"+name);
  10.                 }
  11.         }
  12.         public static void main(String[] args)
  13.         {
  14.                
  15.                 HashMap<String,HashMap<String,String>> hmcxy=new HashMap<String,HashMap<String,String>>();
  16.                 HashMap<String,String> yure=new HashMap<String,String>();
  17.                 HashMap<String,String> jiuye=new HashMap<String,String>();
  18.                 hmcxy.put("yureban", yure);
  19.                 hmcxy.put("jiuyeban", jiuye);
  20.                 yure.put("01", "zhangsan");
  21.                 yure.put("02", "zhaoliu");
  22.                 jiuye.put("01", "wangwu");
  23.                 jiuye.put("02", "chenqi");
  24.                 //遍历hmcxy集合获取所有的教室
  25.                Iterator<String> it=hmcxy.keySet().iterator<font color="red">();//此处是key在使用迭代器对吗?</font>
  26.                 while(it.hasNext())//<font color="red">表示判断key还存在不?如果在继续</font>
  27.                 {
  28.                 String roomname=it.next();//<font color="red">这个获取key?</font>
  29.                  HashMap<String,String> room=hmcxy.get(roomname);</p><p>                    </p><p>                 //获取key对应的班级 ? </p><p>                //那既然是班级那不应该是HashMap<String,HashMap<String,String>> 类型的吗?</p><p>                </p><p>                //怎么变成HashMap<String,String>类型的啦?</font>
  30.                 sop(roomname);//这是一个输出语句 输出班级的      <font color="red">那既然是输出班级不是应该输出 room?</font>
  31.                 getStudentInfo(room);
  32.                  }
  33.               
  34.          }
  35. //帮我解释下注释的问题 有点晕晕的 不清楚谁是谁了</p></p></p>
复制代码

作者: 柳小龙    时间: 2013-8-14 22:24
你这代码有效吗?如果是用于生成文档注释的html标记,可以用快捷键shift+ctrl+f快捷键格式化下,eclipse会自动format格式化代码,注释里面的html标记也会自动排列,成对有规则的显示。。
作者: 李健09    时间: 2013-8-15 10:00
柳小龙 发表于 2013-8-14 22:24
你这代码有效吗?如果是用于生成文档注释的html标记,可以用快捷键shift+ctrl+f快捷键格式化下,eclipse会 ...
  1.          public static void getStudentInfo(HashMap<String,String> roomMap)
  2.         {
  3.                 Iterator<String> it=roomMap.keySet().iterator();
  4.                 while(it.hasNext())
  5.                 {
  6.                         String id=it.next();
  7.                         String name=roomMap.get(id);
  8.                         sop(id+":"+name);
  9.                 }
  10.         }
  11.         public static void main(String[] args)
  12.         {
  13.                
  14.            HashMap<String,HashMap<String,String>> hmcxy=new HashMap<String,HashMap<String,String>>();
  15.            HashMap<String,String> yure=new HashMap<String,String>();
  16.            HashMap<String,String> jiuye=new HashMap<String,String>();
  17.            hmcxy.put("yureban", yure);
  18.            hmcxy.put("jiuyeban", jiuye);
  19.            yure.put("01", "zhangsan");
  20.            yure.put("02", "zhaoliu");
  21.            jiuye.put("01", "wangwu");
  22.            jiuye.put("02", "chenqi");
  23.             //遍历hmcxy集合获取所有的教室
  24.            Iterator<String> it=hmcxy.keySet().iterator<font color="red">();
  25.             //此处是key在使用迭代器对吗?
  26.            while(it.hasNext())
  27.             //表示判断key还存在不?如果在继续
  28.            {
  29.              String roomname=it.next();//这个获取key?
  30.              HashMap<String,String> room=hmcxy.get(roomname);                 
  31.                 //获取key对应的班级 ?  
  32.         //那既然是班级那不应该是HashMap<String,HashMap<String,String>> 类型吗?            
  33.                 //怎么变成HashMap<String,String>类型的啦?</font>
  34.              sop(roomname);//这是一个输出语句 输出班级的那既然是输出班级不是应该输出 room?
  35.              getStudentInfo(room);
  36.             }
  37.               
  38.          }
  39. //帮我解释下注释的问题 有点晕晕的 不清楚谁是谁了</p></p></p>
复制代码

作者: gudao20080    时间: 2013-8-15 14:04
  1. package com.itcast.mapTest;
  2. import java.util.*;
  3. public class Test {
  4.         //此方法将传入的HashMap<String,String>对象的键和值打印在控制台上
  5.         public static void getStudentInfo(HashMap<String,String> roomMap)
  6.         {
  7.                Iterator<String> it=roomMap.keySet().iterator();
  8.                while(it.hasNext())
  9.                {
  10.                        String id=it.next();
  11.                        String name=roomMap.get(id);
  12.                        sop(id+":"+name);
  13.                }
  14.         }
  15.         public static void sop(Object obj){
  16.                 System.out.println(obj);
  17.         }
  18.        
  19.         public static void main(String[] args)
  20.         {         //创建HashMap集合,键的类型是 String, 值的类型是    HashMap<String,String>
  21.           HashMap<String,HashMap<String,String>> hmcxy=new HashMap<String,HashMap<String,String>>();
  22.           HashMap<String,String> yure=new HashMap<String,String>();  //创建HashMap集合,键、值都是String类型
  23.           HashMap<String,String> jiuye=new HashMap<String,String>();
  24.           
  25.           hmcxy.put("yureban", yure);
  26.           hmcxy.put("jiuyeban", jiuye);
  27.           
  28.           yure.put("01", "zhangsan");  
  29.           yure.put("02", "zhaoliu");
  30.           jiuye.put("01", "wangwu");
  31.           jiuye.put("02", "chenqi");
  32.            //遍历hmcxy集合获取所有的教室
  33.           Iterator<String> it=hmcxy.keySet().iterator();  
  34.            //此处是key在使用迭代器对吗?                           -- 建立hmcxy的键集的迭代器
  35.           while(it.hasNext())
  36.            //表示判断key还存在不?如果在继续
  37.           {
  38.             String roomname=it.next();//这个获取key?
  39.             HashMap<String,String> room=hmcxy.get(roomname);                 //获取key对应的班级  
  40.                       
  41.         //那既然是班级那不应该是HashMap<String,HashMap<String,String>> 类型吗?        你的班级类型是HashMap<String,String>     
  42.         //怎么变成HashMap<String,String>类型的啦?                   HashMap<String,HashMap<String,String>>的意思是:HashMap<班级名, 班级<Id,name>>
  43.             
  44.             sop(roomname);//这是一个输出语句 输出班级的那既然是输出班级不是应该输出 room? //roomname的值是String类型,它又不是room,为什么要输出room?
  45.             getStudentInfo(room);
  46.            }
  47.              
  48.         }
  49.        
  50. }
复制代码

作者: 小五555    时间: 2013-8-15 14:19
  1. /**
  2. *
  3. */
  4. package Text.cn;

  5. import java.util.*;

  6. public class Test1 {
  7.         // 此方法将传入的HashMap<String,String>对象的键和值打印在控制台上
  8.         public static void getStudentInfo(HashMap<String, String> roomMap) {
  9.                 Iterator<String> it = roomMap.keySet().iterator();
  10.                 while (it.hasNext()) {
  11.                         String id = it.next();
  12.                         String name = roomMap.get(id);
  13.                         sop(id + ":" + name);
  14.                 }
  15.         }

  16.         public static void sop(Object obj) {
  17.                 System.out.println(obj);
  18.         }

  19.         public static void main(String[] args) {
  20.                 // 创建HashMap集合,键的类型是 String, 值的类型是 HashMap<String,String>
  21.                 HashMap<String, HashMap<String, String>> hmcxy = new HashMap<String, HashMap<String, String>>();
  22.                 // 创建HashMap集合,键、值都是String类型
  23.                 HashMap<String, String> yure = new HashMap<String, String>();
  24.                 HashMap<String, String> jiuye = new HashMap<String, String>();

  25.                 hmcxy.put("yureban", yure);
  26.                 hmcxy.put("jiuyeban", jiuye);

  27.                 yure.put("01", "zhangsan");
  28.                 yure.put("02", "zhaoliu");
  29.                 jiuye.put("01", "wangwu");
  30.                 jiuye.put("02", "chenqi");
  31.                 // 遍历hmcxy集合获取所有的教室
  32.                 Iterator<String> it = hmcxy.keySet().iterator();
  33.                 // 建立hmcxy的键集的迭代器
  34.                 while (it.hasNext())
  35.                 // 表示判断key还存在不?如果在继续
  36.                 {
  37.                         String roomname = it.next();// 这个获取key?
  38.                         HashMap<String, String> room = hmcxy.get(roomname); // 获取key对应的班级
  39.                         // HashMap<String,HashMap<String,String>>表示HashMap<班级名,班级<Id,name>>
  40.                         // 所以班级的类型是HashMap<String,String>
  41.                         sop(roomname);
  42.                         // 这是一个输出语句 输出班级的那既然是输出班级不是应该输出 room?
  43.                         //roomname的值是String类型,输出的是班级号
  44.                         getStudentInfo(room);
  45.                 }

  46.         }

  47. }
复制代码
格式修改过了,麻烦看一下,
作者: 李健09    时间: 2013-8-16 10:22
谢了{:soso_e183:}




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