修改学生信息时老师只修改了学生姓名,id并没修改。但是我试了下想把ID也改了,但是运行出来却是原有的信息没有变还在,反倒是多出一条学生信息。为什么不是修改 反倒是添加了呢?
总共有3个学生
3 y
2 tt
1 r
请输入要删除的学生ID
1
现在还存在的学生如下3 y
现在还存在的学生如下2 tt
请输入要修改的学生的ID
2
你想把这个学生ID改为多少
4
你想把这个学生改成什么名字
nnn
现在还存在的学生如下3 y
现在还存在的学生如下2 tt
现在还存在的学生如下4 nnn
这是我的运行结果 谢谢各位
put里面的ID是Key,但是你修改的ID是学生的ID,是put<Key,Value>中Value(即student的ID),你把两个ID搞混了
put方法本来就是有两种功能:添加和修改,如果你的key是已有的,就会修改对应的键值,这时执行的是修改功能;如果key是新的话,那就是添加咯
最好贴一下源码啊。。put<k,v>是映射关系 我估计你这个相当添加了一个新的K值和V值,建立了新的映射关系,添加了新的对象。
你搞明白了,把方法分享一下啊。既然都要修改,删除原有键值对,添加新的键值对,只要键值不冲突,就ok
我高明白了