import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;
public class ArrayListSaveMapdemo {
public static void main(String[] args) {
//定义一个ArrayList集合用于存放Map<学号,学生> 对象
ArrayList<HashMap<String, Student>> hsList = new ArrayList<HashMap<String, Student>>();
//定义第一个map<>集合用于存放 一班的学生
HashMap<String, Student> hsA = new HashMap<String, Student>();
//生成一班的学生
Student stuA1 = new Student("李一", 28);
Student stuA2 = new Student("王一", 18);
Student stuA3 = new Student("孙一", 33);
Student stuA4 = new Student("张一", 33);
//向hsA中增加学生对应关系
hsA.put("201001",stuA1);
hsA.put("201002",stuA2);
hsA.put("201003",stuA3);
hsA.put("201004",stuA4);
//向ArrayList集合中,存入第一个元素,一班的学生
hsList.add(hsA);
//定义第一个map<>集合用于存放 二班有的学生
HashMap<String, Student> hsB = new HashMap<String, Student>();
//生成二班的学生
Student stuB1 = new Student("李二", 28);
Student stuB2 = new Student("王二", 18);
Student stuB3 = new Student("孙二", 33);
Student stuB4 = new Student("张二", 33);
//向hsA中增加二班学生对应关系
hsB.put("202001",stuB1);
hsB.put("202002",stuB2);
hsB.put("202003",stuB3);
hsB.put("202004",stuB4);
//向ArrayList集合中,存入第一个元素,二班的学生
hsList.add(hsB);
//定义第一个map<>集合用于存放 三班有的学生
HashMap<String, Student> hsC = new HashMap<String, Student>();
//生成三班的学生
Student stuC1 = new Student("李三", 28);
Student stuC2 = new Student("王三", 18);
Student stuC3 = new Student("孙三", 33);
Student stuC4 = new Student("张三", 33);
//向hsA中增加三班学生对应关系
hsC.put("203001",stuC1);
hsC.put("203002",stuC2);
hsC.put("203003",stuC3);
hsC.put("203004",stuC4);
//向ArrayList集合中,存入第一个元素,三班的学生
hsList.add(hsC);
//定义第一个map<>集合用于存放 四班有的学生
HashMap<String, Student> hsD = new HashMap<String, Student>();
Student stuD1 = new Student("李四", 28);
Student stuD2 = new Student("王四", 18);
Student stuD3 = new Student("孙四", 33);
Student stuD4 = new Student("张四", 33);
//向hsA中增加四班学生对应关系
hsD.put("204001",stuD1);
hsD.put("204002",stuD2);
hsD.put("204003",stuD3);
hsD.put("204004",stuD4);
//向ArrayList集合中,存入第一个元素,四班的学生
hsList.add(hsD);
//遍历ArrayList 集合
for(HashMap<String, Student> hsMap :hsList){ //取出集合中的一个元素
//每一个元素是Map,所以还要遍布Map,
Set<String> hsMapkey = hsMap.keySet(); //取得每个Map对象中的键集合
//利用键 找 值
for(String key :hsMapkey){
Student stubyKey = hsMap.get(key);
String name = stubyKey.getName();
int age = stubyKey.getAge();
System.out.println(key+":"+name+","+age);
}
}
}
}