问答详情
源自:5-4 学生选课---修改 Map 中的学生

有个问题求大神解答!

修改学生信息时老师只修改了学生姓名,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

这是我的运行结果  谢谢各位

提问者:泰兰德 2015-08-16 09:56

个回答

  • 慕婉清5673514
    2016-08-02 20:32:15

    put里面的ID是Key,但是你修改的ID是学生的ID,是put<Key,Value>中Value(即student的ID),你把两个ID搞混了

  • zhangdi0534
    2016-02-25 17:19:37

    put方法本来就是有两种功能:添加和修改,如果你的key是已有的,就会修改对应的键值,这时执行的是修改功能;如果key是新的话,那就是添加咯

  • Slience丶
    2015-11-25 10:57:22

    最好贴一下源码啊。。put<k,v>是映射关系 我估计你这个相当添加了一个新的K值和V值,建立了新的映射关系,添加了新的对象。

  • 武庚_Rehan
    2015-09-08 07:34:17

    你搞明白了,把方法分享一下啊。既然都要修改,删除原有键值对,添加新的键值对,只要键值不冲突,就ok

  • 泰兰德
    2015-08-16 10:25:17

    我高明白了