慕神9131598
get()方法中的参数是key值,如果对应的映射关系不存在,返回的是空值;如果存在返回的是对应的value值
qq_慕前端6272965
1、FileInputStream流被称为文件字节输入流,意思指对文件数据以字节的形式进行读取操作如读取图。2、read方法是有返回值的,它返回读入缓冲区的字节总数,如果到达文件末尾度而没有更多的数据,则返回 -1
xiaoqing5
testEntrySet应该这样写

DDDwant
Key是String类型
Value值是Student类型的,在Student类中的参数(id,name),故要指明是用id还是name
qq_kobebryant_5
我也一样,怀疑是JDK版本的问题
qq_幽灵_22
是scanner的问题,前面那个添加里的scanner.close()删了就好了
十七懒得说话
增强型for循环。
在输入“fore”后,按住“ALT+/”出现foreach,,,,,,
注意:要在main方法中输入才会出现
墨墨白
来个截图看看
Ibuki_suga
/**回车
今天也要努力鸭


在不超出作用域的情况下,没关闭就可以一直调用这个scanner实例对象;当然你要是在一个方法内关闭了就需要重新创建一个再使用了
Rhybood
因为你的entry.getKey()返回的键没有ID属性,我猜测你的意思应该是entry.getValue().ID,老铁你得区分下,作为键和值的对象分别是什么,
肉肉小虎豹
你可以写成这样Set<java.util.Map.Entry<String,Student>>entrySet=students.entrySet();
远方有琴
应该是while(true)这里,这是个死循环,需要在循环末尾break;
chenkaifan
导包的时候 选java.util.Map 在下面
慕沐4503986
看你代码test3的第五行,还有第十行
慕沐4503986
看错了脑子有点糊涂哈哈哈哈哈哈
慕桂英9243443
String ID=console.next();
这个才是接受键盘输入
Scanner console=new Scanner(System.in);
这句是定义了一个scanner的对象
断弦之殇
很正常,你这里查询的name是来自st变量,而不是来自于集合students,该对象的确被删除了,students里是没有的。但是你新建了一个对st的引用变量,这个对象是你从students集合中取出来的,现在在被st引用。而你使用了remove,students集合中是不会有这个对象了,但是你在调用name时,是使用的st引用变量来调用查看的
HsuJan
Alt + /
ZCpionner
你把构造器给注释掉了,所以,系统检测到你的students这个对象的引用没有初始化,于是就自动给你赋值为null,所以你接下来的:Student st=students.get(ID);实际上就是Student st=null.get(ID);这样就会报这个空指针异常的错误
healer贤
查看Student类中 public Student(String id,String name) 是否正确
是不是 String id和String name写反了
慕盖茨9393393
我觉key可以作为id,但是容易给新手弄混。
慕莱坞6592045
一个分号毁一生?
qq_OK_21
如果我猜得没错的话,是System.out.println("成功删除学生:" + students.get(id).name);这句话错了,已经被你删了,结果你又get他的name不是获取不到东西?
慕粉3121901
实际开发中对应的是实体类吧 不需要点方法
比如这样
List<Book> list = new ArrayList<Book>();
package com.localhost.entity;
public class Book {
private String BID;
private String BNAME;
private 省略....
public String getBID() {
return BID;
}
public void setBID(String bID) {
BID = bID;
}
public String getBNAME() {
return BNAME;
}
public void setBNAME(String bNAME) {
BNAME = bNAME;
}
}
小鱼鱼_
ID,代指的是账号名,你玩游戏注册账号的时候也必须有个ID,那个ID基本上都是String类型的。ID是identification的缩写,一般是一串数字或者是一串英文或者一串中文,但都是字符串。所以用String类型,不用int。
慕移动7208282
System.out.println("对应的值为:" + entry.getValue());
get到的Value值是一个Student对象,输出了地址吧 要想输出名字还的.name
qq_冰凌_2
试试下面的:
.put("2", new Student("2", "www"));
精慕门2481093
就在对应课程 视频的右下方

http://img.mukewang.com/down/54193863000156ac00000000.rar
慕工程7468250
只是凑巧,上面这个老哥已经说很清楚了