问答详情
源自:5-3 学生选课---删除 Map 中的学生

已经被移除的ID(键),还能调用其对应的Value值吗?

public void testRemove() {

// 获取从键盘输入的待删除学生ID字符串

Scanner console = new Scanner(System.in);

while (true) {

// 提示输入待删除的学生的ID

System.out.println("请输入要删除的学生ID!");

String ID = console.next();

// 判断该ID是否有对应的学生对象

Student st = students.get(ID);

if (st == null) {

// 提示输入的ID并不存在

System.out.println("该ID不存在!");

continue;

}

students.remove(ID);

System.out.println("成功删除学生:" + st.name);

break;

}

}

这一段代码中,

students.remove(ID);

System.out.println("成功删除学生:" + st.name);

先执行的remove(ID),再调用已经被删除的ID对应的name吗?都已经删除了,不存在,怎么还能调用被删除的学生name啊?

提问者:天涯蝶舞 2015-12-30 11:50

个回答

  • Caballarii
    2015-12-30 12:06:30
    已采纳

    删除只是在students这个map里删除了,st还在