【发布时间】:2014-01-19 11:01:16
【问题描述】:
我正在尝试学习 Java,同时玩弄它,我的一个朋友声称可以从数组中删除一个元素,只需几行,而无需导入任何东西。
我一直在思考如何完成上述程序,这就是我想出的。
public void removeStudent(Student student) {
for (int i = 0; i < list.length; i++) {
if(list[i].getID() == student.getID()) {
for (int j = i; j < list.length; j++) {
int y = j;
list[i] = list[y++];
studentsThusFar--;
}
}
}
}
我的想法是我可以通过将所有对象向上移动一个空格来删除学生对象。但是,如果数组中的最后一个对象被删除,这不会分崩离析吗?
请保持您的答案准确,并使用初学者可以理解的语言。
【问题讨论】:
-
你知道数组的长度...查看剩余元素的数量...检查要删除的元素是否是最后一个..如果是,删除后什么都不做.否则,从位置(称为索引而不是空间:))开始将数据向上移动一个索引/单元格......你的方法是正确的。
-
@TheLostMind 那么我将如何删除所述数组中的最后一个元素?在我将所有内容都向上移动之后,或者发现所需的删除是最后一个元素之后?