以下情况有多两种以上映射关系,该如何办???
预热班和就业班,每个班里都有 01,02号学生,这是该怎么存 "yurenban" "01" "zhangsan"
"yurenban" "02" "lisi"
"yurenban" "03" "wangwu" "jiuyeban" "01" "zhaoliu"
"jiuyeban" "02" "huagang"
"jiuyeban" "03" "pingang"*/import java.util.*;
class Student {
private String id;
private String name;
public Student(String id, String name) {
this.id = id;
this.name = name;
}
}
class MapTest03 {
public static void main(String[] args) {
Map<String, String> yuren = new HashMap<String, String>(); //预热班 Map,有好多学生映射
yuren.put("01", "zhangsa");
yuren.put("02", "lisijin");
yuren.put("03", "wangcai"); Map<String, String> jiuye = new HashMap<String, String>(); //就业班 Map,有好多学生映射
jiuye.put("01", "zhaoliu");
jiuye.put("02", "huagang");
jiuye.put("03", "pingang"); Map<String, Map<String, String>> czbk = new HashMap<String, Map<String, String>>(); //czbk 是个大 Map,有好多班级映射
czbk.put("yurenban", yuren);
czbk.put("jiuyeban", jiuye); Set<Map.Entry<String, Map<String, String>>> entryset01 = czbk.entrySet(); //班级集合
Iterator<Map.Entry<String, Map<String, String>>> it01 = entryset01.iterator(); //班级迭代器
while(it01.hasNext()) {
Map.Entry<String, Map<String, String>> me01 = it01.next();
String banid = me01.getKey();
Map ban = me01.getValue();
Set<Map.Entry<String, String>> entryset02 = ban.entrySet(); //学生集合
Iterator<Map.Entry<String, String>> it02 = entryset02.iterator(); //学生迭代器
while(it02.hasNext()) {
Map.Entry<String, String> me02 = it02.next();
String id = me02.getKey();
String name = me02.getValue();
System.out.println(banid + "---" + id + "---" + name);
}
}
}
}
预热班和就业班,每个班里都有 01,02号学生,这是该怎么存 "yurenban" "01" "zhangsan"
"yurenban" "02" "lisi"
"yurenban" "03" "wangwu" "jiuyeban" "01" "zhaoliu"
"jiuyeban" "02" "huagang"
"jiuyeban" "03" "pingang"*/import java.util.*;
class Student {
private String id;
private String name;
public Student(String id, String name) {
this.id = id;
this.name = name;
}
}
class MapTest03 {
public static void main(String[] args) {
Map<String, String> yuren = new HashMap<String, String>(); //预热班 Map,有好多学生映射
yuren.put("01", "zhangsa");
yuren.put("02", "lisijin");
yuren.put("03", "wangcai"); Map<String, String> jiuye = new HashMap<String, String>(); //就业班 Map,有好多学生映射
jiuye.put("01", "zhaoliu");
jiuye.put("02", "huagang");
jiuye.put("03", "pingang"); Map<String, Map<String, String>> czbk = new HashMap<String, Map<String, String>>(); //czbk 是个大 Map,有好多班级映射
czbk.put("yurenban", yuren);
czbk.put("jiuyeban", jiuye); Set<Map.Entry<String, Map<String, String>>> entryset01 = czbk.entrySet(); //班级集合
Iterator<Map.Entry<String, Map<String, String>>> it01 = entryset01.iterator(); //班级迭代器
while(it01.hasNext()) {
Map.Entry<String, Map<String, String>> me01 = it01.next();
String banid = me01.getKey();
Map ban = me01.getValue();
Set<Map.Entry<String, String>> entryset02 = ban.entrySet(); //学生集合
Iterator<Map.Entry<String, String>> it02 = entryset02.iterator(); //学生迭代器
while(it02.hasNext()) {
Map.Entry<String, String> me02 = it02.next();
String id = me02.getKey();
String name = me02.getValue();
System.out.println(banid + "---" + id + "---" + name);
}
}
}
}
解决方案 »
- 强制类型转换异常
- 请教一道题(不是作业,自己练习系罢了)
- finalize(),jdk文档,请求人将其译为中文,并提出意见。
- 运行出现”EXCEPTION in tread "main"java.lang.noclassdefounderror:test“是怎么了啊
- 使用Java多线程技术模拟大厦电梯运行
- 一个初学者的问题(一定帮忙进来看看,拜托)
- 简单的问题.
- 我想光学语法是不够的,那是牛干的事情
- 100分,求Complete Java 2 Certification Study Guide的完整版!!!
- MM求助:怎样多线程下载http://java.sun.com上的东东? 用http方式,谢谢了.
- 用java实现一个跟winexec功能差不多的方法
- socket连接超时原因
我用 keySet 取出方式的时候没有错误
Set<String> keyset01 = czbk.keySet();
Iterator<String> it01 = keyset01.iterator();
while(it01.hasNext()) {
String banid = it01.next();
Map<String, String> ban = czbk.get(banid);
Set<String> keyset02 = ban.keySet();
Iterator<String> it02 = keyset02.iterator();
while(it02.hasNext()) {
String id = it02.next();
String name = ban.get(id);
System.out.println(banid + " " + id + " " + name);
}
}
改成
Map<String, String> ban = me01.getValue();