student.java
package com.imooc.collection;
import java.util.HashSet;
import java.util.Set;
/*
* 学生类
*
*/
public class student {
public String id;
public String name;
public Set<course> courses;
public student(String id,String name){
this.id=id;
this.name=name;
this.courses=new HashSet<course>();
}
}
MapTest.java
package com.imooc.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;
/*
* 在构造其中初始化students属性
*/
public MapTest(){
this.students = new HashMap<String, student>();
}
/*
* 测试添加:输入学生id,判断是否被占用
* 若未被占用,测输入姓名,创建新学生对象,并添加到student中
*/
public void testPut(){
//创建Scanner对象
Scanner input = new Scanner(System.in);
int i= 0;
while(i < 3){
System.out.println("请输入学生id");
String id = input.nextLine();
//我们泛型创建的是id-学生映射
student st = students.get(id);
//判断是否被占用
if(st == null){
//提示输入学生姓名
System.out.println("请输入学生姓名:");
String name = input.nextLine();
//创建新的对象类型
student newstudent = new student(id,name);
//通过调用students的put方法,添加ID-学生映射
students.put(id, newstudent);
System.out.println("成功添加学生:" + newstudent.id + newstudent.name );
i++;
}
else{
System.out.println("改成员已被占用");
continue;
}
}
}
/*
* 测试Map的keySet方法
*/
public void testKeySet(){
//通过KeySet方法,返回Map中所有“键”的Set集合
Set<String> keySet = students.keySet();
//取得students的容量
System.out.println("共有:" + students.size() + "个学生");
//遍历KeySet方法,取得每一个键,再调用get方法取得每个键对应的value
for( String stuid : keySet ){
student st = students.get(stuid);
if (st != null){
System.out.println("学生" + st.id+" " + st.name);
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
MapTest mt = new MapTest();
mt.testPut();
mt.testKeySet();
}
}