qq_亭亭雨中_0
2019-08-12 10:53
public void testKeySet(){ Set<String > keySet = student.keySet(); //此时的keySet是字符串类型???那键值对呢,学生对应课程怎么算呢? System.out.println("总共有:"+student.size()+"个学生!"); for (String stuId:keySet){ Student st = student.get(stuId); if (st != null) System.out.println("学生:"+st.name); } }
我的理解是这个keySet是为了后面的students.get方法能取得keySet中的键,而students又规定了键是String类型,所以这个keySet也应该为String类型。(或者这样:前面规定了键Key是String类型,value 是Student类型,所以为了得到Map中所有Key的Set集合,所以KeySet必须用String类型)
set集合里面存的是key的值 key的值本来就是string类型的
此时 在类中新建的KeySet里面存放的是 student(此对象为Entry类型键值对)的所有键的值,
Student st = student.get(stuId);
这一句 调用map的get方法,通过每个键 去寻找对应的值,该值为Student类型
是的 。 使用了泛型的变量 ,那么该变量都是泛型的对应值
Java入门第三季
409771 学习 · 4363 问题
相似问题