集合框架_集合多层嵌套的代码体现

49 篇文章 0 订阅
29 篇文章 0 订阅
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());
				}
			}
		}
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值