A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© JACK...... 中级黑马   /  2013-12-22 16:59  /  1110 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 JACK...... 于 2013-12-22 17:00 编辑

  1. <DIV class=blockcode>
  2. <BLOCKQUOTE>
  3. <P>import java.util.*;
  4. import java.util.Map.Entry;
  5. public class DemoExtend{
  6. public static void main(String[] args){
  7. strlist();
  8. System.out.println("*********************");
  9. strmap();
  10. }

  11. //一对多Map集合。HashMap中嵌套HashMap。
  12. public static void strmap(){
  13. HashMap<String,HashMap<String,String>> DH=new HashMap<String,HashMap<String,String>>();
  14. HashMap<String,String> base=new HashMap<String,String>();
  15. HashMap<String,String> jiuye=new HashMap<String,String>();
  16. //信息录入
  17. base.put("02", "lisi");
  18. base.put("01", "zhangsan");

  19. jiuye.put("01", "zhangba");
  20. jiuye.put("02", "liqi");
  21. //建立关系
  22. DH.put("base", base);
  23. DH.put("jiuye", jiuye);

  24. //迭代器嵌套输出。
  25. /*Iterator<String> I=DH.keySet().iterator();
  26. while(I.hasNext()){
  27. String room=I.next();
  28. Iterator<String> i=DH.get(room).keySet().iterator();
  29. while(i.hasNext()){
  30. String id=i.next();
  31. String name=DH.get(room).get(id);
  32. System.out.println(id+"...."+name);
  33. }

  34. }*/</P>
  35. <P> </P>
  36. <P>//此处,我想用Map.Entry来实现嵌套输出</P>
  37. <P>//可是遇到了问题。
  38. //Set<Map.Entry<String, HashMap<String, String>>> test=DH.entrySet();
  39. //Iterator<Entry<String, HashMap>>=test.iterator();
  40. Iterator<Map.Entry<String, HashMap<String, String>>> I=DH.entrySet().iterator();
  41. //****************************************************************************************




  42. }
  43. //HashMap中嵌套list
  44. public static void strlist(){
  45. //建立学校集合
  46. HashMap<String,List<stu>> HD=new HashMap<String,List<stu>>();
  47. List<stu> base=new ArrayList<stu>();
  48. List<stu> admin=new ArrayList<stu>();

  49. base.add(new stu("01","zhangsan"));
  50. base.add(new stu("02","liusan"));

  51. admin.add(new stu("02","liusan"));
  52. admin.add(new stu("01","zhangli"));
  53. //建立关系
  54. HD.put("预热班", base);
  55. HD.put("就业班", admin);
  56. /*
  57. Iterator<String> I=HD.keySet().iterator();
  58. while(I.hasNext()){
  59. //获取,学校中的键,也就是,班级的名字
  60. String room=I.next();
  61. //搭建list迭代器
  62. Iterator<stu> i=HD.get(room).iterator();
  63. while(i.hasNext()){
  64. stu student=i.next();
  65. System.out.println(student.getxn());
  66. }
  67. }*/
  68. }

  69. }

  70. //学生类
  71. class stu{
  72. private String xuehao;
  73. private String name;
  74. stu(String xuehao,String name){
  75. this.xuehao=xuehao;
  76. this.name=name;
  77. }
  78. public String getxn(){
  79. return xuehao+":"+name;
  80. }

  81. }



  82. </P>
复制代码

问题:请提供一个用Map.Entry嵌套while循环的信息输出?有劳


评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马