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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ┣┫流枫 中级黑马   /  2014-8-12 22:42  /  1616 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


一个集合的嵌套,快把我搞疯了,代码不难,主要是还是两种构造器的原理不熟,走了些弯路子。
大神有能力可以三层嵌套。绝对考验智力,验证下你的头脑是否还清醒。
  1. import java.util.*;
  2. import java.util.Map.Entry;
  3. public class  Demo
  4. {
  5.         public static void main(String[] args)
  6.         {
  7.                
  8.                 HashMap<String, HashMap<String, String>> 传智博客=new HashMap<String, HashMap<String, String>>();
  9.                 HashMap<String,String> 基础班=new HashMap<String,String>();
  10.                 HashMap<String,String> 就业班=new HashMap<String,String>();
  11.                 基础班.put("001", "zhangsan1");
  12.                 基础班.put("002", "zhangsan2");
  13.                 基础班.put("003", "zhangsan3");
  14.                 就业班.put("001", "lisi1");
  15.                 就业班.put("002", "lisi2");
  16.                 就业班.put("003", "lisi3");
  17.                 传智博客.put("基础教学", 基础班);
  18.                 传智博客.put("企业教学", 就业班);
  19.                 keySet(传智博客);
  20.                
  21.         }
  22.         //entrySet方式获取
  23.         public static void entrySet(HashMap<String,HashMap<String,String>> 传智博客){
  24.                 Set<Map.Entry<String,HashMap<String,String>>> set=传智博客.entrySet();
  25.                 Iterator <Map.Entry<String,HashMap<String,String>>> it=set.iterator();
  26.                 while(it.hasNext()){
  27.                         Map.Entry<String,HashMap<String,String>> cz=it.next();
  28.                         String key=cz.getKey();
  29.                         HashMap<String,String> value =cz.getValue();
  30.                         System.out.println(key+":");
  31.                        
  32.                         Set<Entry<String, String>> set2=value.entrySet();
  33.                         Iterator <Map.Entry<String,String>> it2=set2.iterator();
  34.                         while(it2.hasNext()){
  35.                                 Map.Entry<String, String> cz2=it2.next();
  36.                                 String key2=cz2.getKey();
  37.                                 String value2=cz2.getValue();
  38.                                 System.out.println(key2+"..."+value2);
  39.                         }
  40.                 }
  41.         }
  42.         //KeySet方式获取
  43.         public static void keySet(HashMap<String, HashMap<String, String>> 传智博客){
  44.                 Set<String> set=传智博客.keySet();
  45.                 Iterator<String> it=set.iterator();
  46.                 while(it.hasNext()){
  47.                         String key=it.next();
  48.                         HashMap<String,String> map=传智博客.get(key);
  49.                         System.out.println(key+":");
  50.                        
  51.                         Set<String> set2=map.keySet();
  52.                         Iterator <String> it2=set2.iterator();
  53.                         while(it2.hasNext())
  54.                         {
  55.                                 String key2=it2.next();
  56.                                 String map2=map.get(key2);
  57.                                 System.out.println(key2+"+++"+map2);
  58.                         }       
  59.                 }
  60.         }
  61. }
  62. //学生类
  63. class Student
  64. {
  65.         private String name;
  66.         private String xuehao;
  67.         public void stady(){
  68.                 System.out.println("学习");
  69.         }
  70.         public Student(){}
  71.         public Student(String name,String xuehao){
  72.                 this.name=name;
  73.                 this.xuehao=xuehao;
  74.         }

  75.         public boolean equals(Object obj){
  76.                 if(this==obj)
  77.                         return true;
  78.                 if(obj==null)
  79.                         return false;
  80.                 if(obj instanceof Student)
  81.                 {
  82.                         Student stu=(Student)obj;
  83.                         return this.name.equals(stu.name);
  84.                 }
  85.                 return false;
  86.         }
  87.         public int hashCode(){
  88.                 return this.name.hashCode()+this.xuehao.hashCode();
  89.         }
  90.         public String toString(){
  91.                 return "Student: "+name+"..."+xuehao;
  92.         }
  93.         //----------------gs-----------------------
  94.         public void setName(String name){
  95.                 this.name=name;
  96.         }
  97.         public String getName(){
  98.                 return name;
  99.         }
  100.         public void setXuehao(String xuehao){
  101.                 this.xuehao =xuehao;
  102.         }
  103.         public String getXuehao(){
  104.                 return xuehao;
  105.         }
  106. }
  107. //基础班学生类
  108. class JCStudent extends Student
  109. {
  110.         public void stady(){
  111.                 System.out.println("基础学习");
  112.         }
  113. }
  114. //就业班学生类
  115. class JYStudent extends Student
  116. {
  117.         public void stady(){
  118.                 System.out.println("就业学习");
  119.         }
  120. }
复制代码



评分

参与人数 1技术分 +1 收起 理由
格子、 + 1 。。。

查看全部评分

3 个回复

倒序浏览
{:3_59:}  0715  来刷分的吗???

哪位同学???

回复 使用道具 举报
烟海 发表于 2014-8-12 22:47
0715  来刷分的吗???

哪位同学???

不刷分  分早够了   问有没有大神做三层嵌套的
回复 使用道具 举报
┣┫流枫 发表于 2014-8-12 22:48
不刷分  分早够了   问有没有大神做三层嵌套的

呃。。。不嫌蛋疼吗??

而且两层和三层也没什么区别。。。无非稍微多加了一点东西。。。。三层While就是了。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马