定义一个九年级,年级里面有一班和二班。且有属于自己班的学生。
九年级
一班
001 张三
002 李四
二班
001 王五
002 马六
把同学都遍历出来
package demo;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import java.util.Map.Entry;;
public class Demo {
public static void main(String[] args) {
//定义一班的集合
HashMap class1 = new HashMap();
//定义二班的集合
HashMap class2 = new HashMap();
//向班级存储学生
class1.put("001", "张三");
class1.put("002", "李四");
class2.put("001", "王五");
class2.put("002", "马六");
//定义grade容器 键是班级的名字 值是两个班级的容器
HashMap> grade = new HashMap>();
grade.put("class1", class1);
grade.put("class2",class2);
entrySet1(grade);
}
public static void entrySet1(HashMap> grade) {
//entrySet():返回此映射中包含的映射关系的 Set 视图。
Set>> classNameSet = grade.entrySet();
//迭代Set集合
Iterator>> it = classNameSet.iterator();
while(it.hasNext()) {
Entry> next = it.next();
//得到班级的名字
String classNameKey = next.getKey();
System.out.println(classNameKey);
//得到具体每个班的map集合
HashMap classMap = next.getValue();
Set> classMapSet = classMap.entrySet();
Iterator> studentIt = classMapSet.iterator();
while(studentIt.hasNext()) {
Entry studentEntry = studentIt.next();
//得到每个班级的同学的键
String numKey = studentEntry.getKey();
//得到每个班级同学键所对应的的值
String numValue = studentEntry.getValue();
System.out.println(numKey+"\t"+numValue);
}
}
}
}