我需要一种从手工制作的列表中删除确定元素的方法。
我有一个名为AudioFile的课程。列表的每个元素都是此类中的对象。 然后,我有类FileTable,这个属性:
private AudioFile[] table;
private int size;
我定义了这种方法,但是当我调用它时它不起作用:
public void deleteFile(AudioFile file){
AudioFile[] table2 = new AudioFile[100];
int j = 0;
for (int i = 0; i < size; i++){
if (table[i] != file){
table2[j] = table[i];
j++;
} else {
i++;
}
}
for (int k = 0; k < size); k++){
table2[k] = table[k];
}
table[size-1] = null;
}
我认为代码很容易理解,但如果您不了解某些内容或者您需要有关AudioFile类的更多信息,您可以说出来并且我会尝试提供帮助太。谢谢!
答案 0 :(得分:1)
你正在重新发明轮子,只需使用像列表或集合这样的集合。他们已经有一个remove()方法,它完全符合你的要求 将Arrays视为低级类型并始终使用Collection(除非在特定情况下)。