/**
* 针对多个映射关系时:
* yureban 01 zhangsan
* yureban 02 lisi
* jiuyeban 01 wangwu
* jiuyeban 02 zhaoliu
* */
import java.util.*;
public class MapDemo {
public static void main(String[] args) {
HashMap<String,String> yure=new HashMap<String,String>();
yure.put("01", "zhangsan");
yure.put("02", "lisi");
HashMap<String,String> jiuye=new HashMap<String,String>();
jiuye.put("01", "wangwu");
jiuye.put("02", "zhaoliu");
HashMap<String,HashMap<String,String>> czbk=new HashMap<String,HashMap<String,String>>();
czbk.put("yureban", yure);
czbk.put("jiuyeban", jiuye);
//getStudentInfo(yure);
Iterator<String> it=czbk.keySet().iterator();
while(it.hasNext())
{
String roomName=it.next();
HashMap<String,String> room=czbk.get(roomName);
System.out.println(roomName);
getStudentInfo(room);
}
}
public static void getStudentInfo(HashMap<String,String> roomMap)
{
/*
Set<String> me=roomMap.keySet();
Iterator<String> it=me.iterator();
*/
Iterator<String> it=roomMap.keySet().iterator();
while(it.hasNext())
{
String id=it.next();
String name=roomMap.get(id);
System.out.println(id+":"+name);
}
}
}
roomMap是Map类型,Map类型的两个泛型参数一个是key的类型,一个是value的类型
所以前面必须是HashMap<A,B>
这种形式的
而roomMap.get(id);,返回的是根据key找到的那个value条目,所以是HashMap<A,B>中的那个B,具体到你这里就是String