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()); } } }}}
1 回答
慕仰9221625
TA贡献5条经验 获得超1个赞
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()); } } } } }
备注中带有##的是当前行有做修改
添加回答
举报
0/150
提交
取消