【需求】:打印学校的所有学生
学校:school
班级:
唐朝 宋朝
学生:
姓名 学号 班级
杨玉环 19050901 唐朝
太平公主 19050906 唐朝
上官婉儿 19050909 唐朝
武则天 19050903 唐朝
李师师 19050825 宋朝
李清照 19050412 宋朝
赵香香 19050908 宋朝
王朝云 19050368 宋朝
【代码】:
import java.util.*;
class HashMapDemo
{
public static void main(String[] args)
{
//<班级,学生>
HashMap<String,HashMap<String,String>> school=new HashMap<String,HashMap<String,String>>();
//<姓名,学号>
HashMap<String,String> tang=new HashMap<String,String>();
HashMap<String,String> song=new HashMap<String,String>();
school.put("tang",tang);
school.put("song",song);
tang.put("杨玉环","19050901");
tang.put("太平公主","19050906");
tang.put("上官婉儿","19050909");
tang.put("武则天","19050903");
song.put("李师师","19050825");
song.put("李清照","19050412");
song.put("赵香香","19050908");
song.put("王朝云","19050368");
//遍历整个班级
Iterator<String> keySet=school.keySet().iterator();//拿到tang,song
while(keySet.hasNext()){
String room=keySet.next();
System.out.println(room);
HashMap<String,String> stu=school.get(room);
getStudent(stu);
}
}
public static void getStudent(HashMap<String,String> hm){
Iterator<String> it=hm.keySet().iterator();
while(it.hasNext()){
String name=it.next();
String id=hm.get(name);
System.out.println(id+"......."+name);
}
}
}
/*
输出:
tang
19050909.......上官婉儿
19050903.......武则天
19050901.......杨玉环
19050906.......太平公主
song
19050825.......李师师
19050412.......李清照
19050368.......王朝云
19050908.......赵香香
*/
【输出】: