重点:map的几种遍历方法:
返回key值集合:
返回value值集合:
返回<key,value>值集合:
MapTest.java文件:
package com.demos.collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class MapTest {
/**
* 用来承载学生类型对象
*/
public Map<String,Student> students;
public Map<String, Student> getStudents() {
return students;
}
public void setStudents(Map<String, Student> students) {
this.students = students;
}
//在构造方法中,实例化一个学生对象
public MapTest() {
this.students = new HashMap<String,Student>();
}
/**
* 添加学生测试:
* 输入学生id,判断是否被占用;
* 若未被占用,则输入姓名,创建新学生对象
* 添加到students中
*/
public void putStudent() {
//创建Scannner对象,获取学生id;
Scanner co = new Scanner(System.in);
int i = 0;
while (i<3) {
System.out.println("请输入学生id: \n");
String studentId = co.next();
//判断该id是否被占用
Student st = students.get(studentId);
if( st == null) {
System.out.println("请输入学生姓名:\n");
String studentName = co.next();
//创建学生对象,把学生对象添加到map中;
Student newStudent = new Student(studentId,studentName);
students.put(studentId, newStudent);
System.out.println("成功添加学生:"+students.get(studentId).name);
i++;
}else {
System.out.println("该学生已存在!");
continue;
}
}
//输出所有的学生信息
System.out.println("所有的学生信息如下:\n");
// //通过keySet 方法返回所有<key>的集合;
// Set<String> ks = students.keySet();
// for(String stuId : ks) {
// //获取key 对应的value 的值;
// Student st = students.get(stuId);
// System.out.println(stuId);
// //遍历学生信息
// if(st != null) {
// System.out.println("学生:"+ st.name);
// }
// }
//通过keySet 方法返回所有集合;
Set<Map.Entry<String,Student>> ss = students.entrySet();
for(Map.Entry<String,Student> stu : ss) {
if(ss != null) {
System.out.println("学生:"+ stu.getValue().name);
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
MapTest mapt = new MapTest();
mapt.putStudent();
}
}