java 给map设置key,Map中的key值是自己设定的吗

难道这里的key值是Map中存放的Student的id属性?

Student类代码如下:

/**

* 学生类

* @author yang

*2017年1月9日

*/

public class Student {

public String id;

public String name;

public Setcourses;

public Student(String id,String name){

this.id=id;

this.name=name;

this.courses=new HashSet();

}

}

public MapTest(){

students=new HashMap();

}

/**

* 测试添加:键入学生ID,判断是否被占用,

* 若未被占用,则输入姓名,创建新学生对象,并且添加到students中

* @param args

*/

public void testPut(){

Scanner console=new Scanner(System.in);

int i=0;

while(i<3){

System.out.println("请输入学生ID");

String ID=console.next();

Student st=students.get(ID);

if(st==null){

//提示输入学生姓名

System.out.println("请输入学生姓名");

String name=console.next();

Student newStudent=new Student(ID, name);

students.put(ID, newStudent);

System.out.println("成功添加学生"+students.get(ID).name+students.get(ID).id);

i++;

}

else{

System.out.println("该学生ID已被占用");

continue;

}

}

}

/**

* 测试Map的keySet方法

* @param args

*/

public void testKeySet(){

//通过keySet方法,返回Map中的所有“键”的Set集合

//Map的keySet方法,返回的是Map中所有"键"的Set集合,Set集合哟!!!

Set keySet=students.keySet();

//遍历KeySet,取得每一个键,再调用get方法取得每个键对应的value。

System.out.println("总共有"+students.size()+"个学生");

for(String stuId:keySet){

Student st=students.get(stuId);

if(st!=null){

System.out.println("学生"+st.name);

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值