我需要一种从手工列表中删除确定元素的方法。
我有一个叫做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类的更多信息,可以说出来,我也将尽力提供帮助。谢谢!
最佳答案
您正在重新发明轮子,只需使用诸如List或Set的Collection。他们已经有一个remove()方法,该方法完全可以完成您想做的事情。
将数组作为低级类型查看,并始终使用Collection(在真正特殊的情况下除外)。