Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 删除多个ArrayList的内容_Java_Arrays_Methods_Arraylist - Fatal编程技术网

Java 删除多个ArrayList的内容

Java 删除多个ArrayList的内容,java,arrays,methods,arraylist,Java,Arrays,Methods,Arraylist,我创建了一个程序,它存储了关于mp3的三条不同的信息 我有一个trackNum,name和durationArrayLists 我需要使用索引号从每个ArrayLists中删除内容,以下是我所做的: //This is my method public void removeTrack(Integer postion){ trackNum.remove(postion); name.remove(postion); duratio

我创建了一个程序,它存储了关于mp3的三条不同的信息

我有一个
trackNum
name
duration
ArrayList
s

我需要使用索引号从每个
ArrayList
s中删除内容,以下是我所做的:

    //This is my method

    public void removeTrack(Integer postion){
        trackNum.remove(postion);
        name.remove(postion);
        duration.remove(postion);
    }

    //This is me using the method
    case 2:
        meth.print();
        System.out.println("Please enter the index of the track you want to remove:");
        meth.removeTrack(in.nextInt());
        break;
我遇到的问题是,它没有删除每个数组列表的索引,例如:

输入:

         index    trackNum    name    duration 
           0        111         1         1
           1         2          2         2
           2         3          3         3
           3         4          4         4
如果输入2,则删除每个数组列表的索引2

输出:

         index    trackNum    name    duration 
           0        111         1         1
           1         3          2         2
           2         4          3         3
如果我输入111,它将删除111

有人能帮我删除每个
ArrayList
的索引内容吗

使用来自的方法

public void removeTrack(Integer postion){


如果使用对象,它将尝试在列表中查找对象。如果使用原语,它会把它看作是位置,因此在位置上删除元素。

<代码>整数是一个对象,因此您将调用-即,删除传递的<强>值< /强>。 如果要删除索引,应将
position
定义为基本
int

public void removeTrack(int postion){
    trackNum.remove(postion);
    name.remove(postion);
    duration.remove(postion);
}

我方对贵方设计的一些建议

您可以创建一个类(比如SongInfo),然后将不同的属性作为实例变量保留在类中,而不是为每个属性(例如名称、曲目和持续时间)分别创建一个列表


您可以定义一个仅包含SongInfo类型对象的列表。这样的设计会更好

谢谢,只是刚刚看到这个对不起。不过我同意,这是我刚开始编程lol的时候
public void removeTrack(int postion){
    trackNum.remove(postion);
    name.remove(postion);
    duration.remove(postion);
}