Java 从数组中删除元素
我需要一种方法从手工制作的列表中删除确定元素 我有一门课叫AudioFile。列表中的每个元素都是此类中的一个对象。 然后,我有一个类FileTable,其中包含以下属性:Java 从数组中删除元素,java,arrays,Java,Arrays,我需要一种方法从手工制作的列表中删除确定元素 我有一门课叫AudioFile。列表中的每个元素都是此类中的一个对象。 然后,我有一个类FileTable,其中包含以下属性: private AudioFile[] table; private int size; 我定义了这个方法,但调用它时它不起作用: public void deleteFile(AudioFile file){ AudioFile[] table2 = new AudioFile[100]; int j = 0
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;
}
public void deleteFile(音频文件){
音频文件[]表2=新音频文件[100];
int j=0;
对于(int i=0;i
我认为代码很容易理解,但是如果你不理解一些东西或者你需要更多关于类音频文件的信息,你可以说出来,我也会尽力帮助你。谢谢大家! 你正在重新发明轮子,只需使用列表或集合之类的集合即可。他们已经有了一个remove()方法,它完全可以执行您想要执行的操作。
将数组视为低级类型,并始终使用集合(除非在真正特定的情况下)。它是一个数组,而不是一个列表。我假设您知道有时会将i增加两次。是的,但我编写列表是因为我不能使用.remove()不,我不知道。对不起,我今年才刚开始,我有点迷路了……你不能就这样
=
检查两个对象是否不相同。使用equals()
方法检查对象相等性,并重写AudioFile
类中的equals()
方法。然后使用!equals()
检查两个音频文件是否不相同。我无法使用.remove()