/**
* /*
* 練習一:
* 學生對象(姓名,年齡)都有自己的歸屬地,既然有對應關系。
* 將學生對象和歸屬地存儲到map集合中。
* 注意:同姓名同年齡視為重復的鍵。
*/
public class Practise1 {
public static void main(String[] args) {
/*創建Map集合*/
Map<Student,String> classMap = new HashMap<Student,String>();
classMap.put(new Student("小明",15), "上海");
classMap.put(new Student("小李",15), "沈陽");
classMap.put(new Student("小徐",13), "武漢");
classMap.put(new Student("小明",15), "上海"); //視為重復的鍵
classMap.put(new Student("天天",14), "武漢");
classMap.put(new Student("剛剛",12), "河北");
/*遍歷的三種方法*/
//1.通過遍歷key,獲取value
Set<Student> allStudents = classMap.keySet();
for(Student stu: allStudents){
/*遍歷獲得到的所有key鍵值*/
System.out.println(stu);
/*通過遍歷key,獲得對應的value值的方法*/
System.out.println(classMap.get(stu));
}
System.out.println("/*-----通過迭代key 獲取對應的value--------*/");
/*利用Iterator迭代*/
Iterator<Student> it = allStudents.iterator();
while(it.hasNext()){
Student key = it.next();
/*通過迭代key 獲取對應的value*/
System.out.println(key);
System.out.println(classMap.get(key));
}
/*2.遍歷鍵值對*/
Set<Entry<Student,String>> entrys = classMap.entrySet();
/*entrys獲取到了classMap中所有的鍵值對*/
for(Entry<Student,String> ent : entrys){
System.out.println("鍵的獲取: "+ent.getKey());
System.out.println("值的獲取: "+ent.getValue());
}
}
}