集合框架_集合多层嵌套的代码体现
2017-01-14 17:18
393 查看
package cn.itcast_06; import java.util.ArrayList; import java.util.HashMap; import java.util.Set; /* * 为了更符合要求: * 这次的数据就看成是学生对象。 * * 北大青鸟 * bj 北京校区 * jc 基础班 * 林青霞 27 * 风清扬 30 * jy 就业班 * 赵雅芝 28 * 李刚 29 * sh 上海校区 * jc 基础班 * 郭美美 20 * 犀利哥 22 * jy 就业班 * 罗玉凤 21 * 马征 23 * gz 广州校区 * jc 基础班 * 王力宏 30 * 李静磊 32 * jy 就业班 * 郎朗 31 * 柳岩 33 * xa 西安校区 * jc 基础班 * 范冰冰 27 * 孙成文 30 * jy 就业班 * 李冰冰 28 * 张志豪 29 */ public class HashMapDemo { public static void main(String[] args) { // 创建大集合 HashMap<String, HashMap<String, ArrayList<Student>>> bdqnMap = new HashMap<String, HashMap<String, ArrayList<Student>>>(); // 北京校区 HashMap<String, ArrayList<Student>> bjBdqnMap = new HashMap<String, ArrayList<Student>>(); ArrayList<Student> bj_jcArray = new ArrayList<Student>(); Student bj_s1 = new Student("林青霞", 27); Student bj_s2 = new Student("风清扬", 30); bj_jcArray.add(bj_s1); bj_jcArray.add(bj_s2); bjBdqnMap.put("基础班", bj_jcArray); ArrayList<Student> bj_jyArray = new ArrayList<Student>(); Student bj_s3 = new Student("赵雅芝", 28); Student bj_s4 = new Student("李刚", 29); bj_jyArray.add(bj_s3); bj_jyArray.add(bj_s4); bjBdqnMap.put("就业班", bj_jyArray); bdqnMap.put("北京校区", bjBdqnMap); // 上海校区 HashMap<String, ArrayList<Student>> shBdqnMap = new HashMap<String, ArrayList<Student>>(); ArrayList<Student> sh_jcArray = new ArrayList<Student>(); Student sh_s1 = new Student("郭美美", 20); Student sh_s2 = new Student("犀利哥", 22); sh_jcArray.add(sh_s1); sh_jcArray.add(sh_s2); shBdqnMap.put("基础班", sh_jcArray); ArrayList<Student> sh_jyArray = new ArrayList<Student>(); Student sh_s3 = new Student("罗玉凤", 21); Student sh_s4 = new Student("马征 ", 23); sh_jyArray.add(sh_s3); sh_jyArray.add(sh_s4); shBdqnMap.put("就业班", sh_jyArray); bdqnMap.put("上海校区", shBdqnMap); // 广州校区 HashMap<String, ArrayList<Student>> gzBdqnMap = new HashMap<String, ArrayList<Student>>(); ArrayList<Student> gz_jcArray = new ArrayList<Student>(); Student gz_s1 = new Student("王力宏", 30); Student gz_s2 = new Student("李静磊", 32); gz_jcArray.add(gz_s1); gz_jcArray.add(gz_s2); gzBdqnMap.put("基础班", gz_jcArray); ArrayList<Student> gz_jyArray = new ArrayList<Student>(); Student gz_s3 = new Student("郎朗", 31); Student gz_s4 = new Student("柳岩", 33); gz_jyArray.add(gz_s3); gz_jyArray.add(gz_s4); gzBdqnMap.put("就业班", gz_jyArray); bdqnMap.put("广州校区", gzBdqnMap); // 西安校区 HashMap<String, ArrayList<Student>> xaBdqnMap = new HashMap<String, ArrayList<Student>>(); ArrayList<Student> xa_jcArray = new ArrayList<Student>(); Student xa_s1 = new Student("范冰冰", 27); Student xa_s2 = new Student("孙成文", 30); xa_jcArray.add(xa_s1); xa_jcArray.add(xa_s2); xaBdqnMap.put("基础班", xa_jcArray); ArrayList<Student> xa_jyArray = new ArrayList<Student>(); Student xa_s3 = new Student("李冰冰", 28); Student xa_s4 = new Student("张志豪", 29); xa_jyArray.add(xa_s3); xa_jyArray.add(xa_s4); xaBdqnMap.put("就业班", xa_jyArray); bdqnMap.put("西安校区", xaBdqnMap); // 遍历集合 Set<String> bdqnMapSet = bdqnMap.keySet(); for (String bdqnMapKey : bdqnMapSet) {// bdqnMapKey校区 System.out.println(bdqnMapKey + "\t"); HashMap<String, ArrayList<Student>> bdqnMapValue = bdqnMap .get(bdqnMapKey); Set<String> bdqnMapValueSet = bdqnMapValue.keySet(); for (String bdqnMapValueKey : bdqnMapValueSet) {// bdqnMapValueKey班级 System.out.println("\t" + bdqnMapValueKey + "\t"); ArrayList<Student> array = bdqnMapValue.get(bdqnMapValueKey); for (Student stu : array) {// array学生 System.out.println("\t\t" + stu.getName() + "---" + stu.getAge()); } } } } }
相关文章推荐
- 2 java数组总结
- 关于 handler 书写代码 引起的几个问题
- python基础语法(7) 函数2
- PAT乙级1056
- 【matlab】isstrprop 解读
- UVA All in All 10340
- 深入理解 Java G1 垃圾收集器
- Java常用类
- Python(3.5.2)集成环境(Anaconda),selenium+PhantomJS+Scrapy搭建(windows10系统下)
- 3 java字符串总结
- python实现数据导出到excel--普通格式
- tips:Java基本数据类型大小比较
- Java 获取当前时间往前推最近12月“年-月”格式的时间,方便统计使用
- python基础语法(6) 函数1
- zerorpc-python官方入门
- 8 javaI/O总结
- ASP.NET Zero--8.一个例子(1)菜单添加
- java正则表达式不以某个字符串开头或结尾
- 使用Eclipse将Android项目打Library包
- 玩转Eclipse — 自动代码规范检查工具Checkstyle