Java 从数组中删除元素

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

我需要一种方法从手工制作的列表中删除确定元素

我有一门课叫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;
}
public void deleteFile(音频文件){
音频文件[]表2=新音频文件[100];
int j=0;
对于(int i=0;i

我认为代码很容易理解,但是如果你不理解一些东西或者你需要更多关于类音频文件的信息,你可以说出来,我也会尽力帮助你。谢谢大家!

你正在重新发明轮子,只需使用列表或集合之类的集合即可。他们已经有了一个remove()方法,它完全可以执行您想要执行的操作。

将数组视为低级类型,并始终使用集合(除非在真正特定的情况下)。

它是一个数组,而不是一个列表。我假设您知道有时会将i增加两次。是的,但我编写列表是因为我不能使用.remove()不,我不知道。对不起,我今年才刚开始,我有点迷路了……你不能就这样
=
检查两个对象是否不相同。使用
equals()
方法检查对象相等性,并重写
AudioFile
类中的
equals()
方法。然后使用
!equals()
检查两个
音频文件是否不相同。我无法使用.remove()