最后到遍历学生时遍历不出来???

package demo13;


import java.util.ArrayList;

import java.util.HashMap;

import java.util.Set;


public class nestdemo {

public static void main(String[] args) {

HashMap<String,HashMap<String,ArrayList<Student>>> 全国=new HashMap<String,HashMap<String,ArrayList<Student>>>();

//河南地区

HashMap<String,ArrayList<Student>> 河南地区=new HashMap<String,ArrayList<Student>>();

ArrayList<Student> 高校区=new ArrayList<Student>();

Student one=new Student("路人1",18);

Student two=new Student("路人2",18);

高校区.add(one);

高校区.add(two);

河南地区.put("河南", 高校区);

ArrayList<Student> 低校区=new ArrayList<Student>();

Student one1=new Student("路人3",18);

Student two1=new Student("路人4",18);

低校区.add(one1);

低校区.add(two1);

河南地区.put("河南", 低校区);

全国.put("河南地区数据:", 河南地区);

//北京地区

HashMap<String,ArrayList<Student>>北京地区=new HashMap<String,ArrayList<Student>>();

ArrayList<Student> 北京高校区=new ArrayList<Student>();

Student one11=new Student("路人1",18);

Student two11=new Student("路人2",18);

高校区.add(one11);

高校区.add(two11);

河南地区.put("北京", 北京高校区);

ArrayList<Student> 北京低校区=new ArrayList<Student>();

Student one3=new Student("路人3",18);

Student two4=new Student("路人4",18);

低校区.add(one3);

低校区.add(two4);

河南地区.put("河南", 北京低校区);

全国.put("北京地区数据:", 北京地区);

//遍历

Set<String> 总key=全国.keySet();

for(String key:总key){

System.out.println(key);


HashMap<String, ArrayList<Student>> value=全国.get(key);

Set<String> 分地区value= value.keySet();

for(String key2: 分地区value){

System.out.println("来过");

ArrayList<Student> 校区value=value.get(key2);

for(Student 学生value: 校区value){

System.out.println("也来过");//此处不显示

System.out.println("\t"+学生value.getName()+"\t"+学生value.getAge());

}

}

 

 

}

}

}


实力走天下
浏览 1449回答 1
1回答

慕仰9221625

package demo13; import java.util.ArrayList; import java.util.HashMap; import java.util.Set; public class nestdemo { public static void main(String[] args) { HashMap<String, HashMap<String, ArrayList<Student>>> 全国 = new HashMap<String, HashMap<String, ArrayList<Student>>>(); // 河南地区 HashMap<String, ArrayList<Student>> 河南地区 = new HashMap<String, ArrayList<Student>>(); ArrayList<Student> 高校区 = new ArrayList<Student>(); Student one = new Student("路人1", 18); Student two = new Student("路人2", 18); 高校区.add(one); 高校区.add(two); 河南地区.put("河南高校区", 高校区); // ##1 ArrayList<Student> 低校区 = new ArrayList<Student>(); Student one1 = new Student("路人3", 18); Student two1 = new Student("路人4", 18); 低校区.add(one1); 低校区.add(two1); 河南地区.put("河南低校区", 低校区); // ##原代码中与(##1)处的key相同,会出现覆盖 全国.put("河南地区数据:", 河南地区); // 北京地区 HashMap<String, ArrayList<Student>> 北京地区 = new HashMap<String, ArrayList<Student>>(); ArrayList<Student> 北京高校区 = new ArrayList<Student>(); Student one11 = new Student("路人1", 18); Student two11 = new Student("路人2", 18); 北京高校区.add(one11); // ## 北京高校区.add(two11);// ## 北京地区.put("北京高校区", 北京高校区); // ## ArrayList<Student> 北京低校区 = new ArrayList<Student>(); Student one3 = new Student("路人3", 18); Student two4 = new Student("路人4", 18); 北京低校区.add(one3); // ## 北京低校区.add(two4); // ## 北京地区.put("北京低校区", 北京低校区); // ## 全国.put("北京地区数据:", 北京地区); // 遍历 Set<String> 总key = 全国.keySet(); for (String key : 总key) { System.out.println(key); HashMap<String, ArrayList<Student>> value = 全国.get(key); Set<String> 分地区value = value.keySet(); for (String key2 : 分地区value) { System.out.println("  " + key2+"----来过");    // ## ArrayList<Student> 校区value = value.get(key2); for (Student 学生value : 校区value) { System.out.println("    学生信息----也来过");// 此处不显示 ## System.out.println("\t" + 学生value.getName() + "\t" + 学生value.getAge()); } } } } }备注中带有##的是当前行有做修改
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java