【问题标题】:Need help deleting items from ArrayList that have been added by scanner需要帮助从 ArrayList 中删除已由扫描仪添加的项目
【发布时间】:2013-11-23 13:20:26
【问题描述】:

我正在创建一个程序,它将来自扫描仪的用户输入(字符串,确切地说是歌曲的标题)插入到 arrayList 中。我可以很好地插入它们,但我还想创建另一个类来从 arrayList 中删除歌曲。有什么方法可以删除特定的歌曲,还是只需要删除数组中的第一个位置?如果我这样做,arrayList 会移动位置,因此位置 1 会变成位置 0 等等,还是位置 1 会保持位置 1 而位置 0 会是空的?我将歌曲添加到 ArrayLists 的代码:

import java.util.*;

public class addSongs {

    public static void main (String[]args){

        Scanner songAdd = new Scanner(System.in);
        Scanner addContinue = new Scanner(System.in);
        String ceaseAdd = new String();
        ceaseAdd = "Y";

        while(ceaseAdd.equals("Y")){
                System.out.println("Enter track title");
                    String newSong = songAdd.nextLine();
                        MP3_catalogue.title.add(newSong);
                System.out.println("Enter artist name");
                    String newArtist = songAdd.nextLine();
                        MP3_catalogue.artist.add(newArtist);
                System.out.println("Enter duration");
                    String newDuration = songAdd.nextLine();
                        MP3_catalogue.duration.add(newDuration);
                System.out.println("Would you like to add another song? Y/N");
            ceaseAdd = addContinue.nextLine().toUpperCase();
        }

        MP3_catalogue obj = new MP3_catalogue();
    }

}

编辑:上面的类通过使用扫描器更改变量 newSong、newArtist、newDuration 将歌曲添加到 arrayLists,然后再次循环以将相同的变量更改为不同的输入。 arrayList 是否保存变量的内容,即输入的特定字符串,还是只保存变量,即 newSong?如果它只是保存 newSong 我肯定会有一个具有相同内容的 arrayList 填充它。

【问题讨论】:

    标签: java string input arraylist


    【解决方案1】:

    只需检查ArrayList Javadoc

    我认为ArrayList.remove(Object) 是您要找的。​​p>

    【讨论】:

      【解决方案2】:

      ArrayLists 支持随机访问。所以是的,您可以删除指定的项目。请参阅Javadoc

      关于您的第二个问题(您稍后编辑的那个),这是一个与 Java 中的参数传递相关的典型问题。

      newSong 传递给add 方法时,实际上是在传递String 对象的引用。所以这与用于引用它的变量无关,即newSong。无论如何,一旦循环迭代完成,newSong 就会退出其范围。在下一次迭代中,变量将再次初始化,但这不会改变列表的内容。

      所以,简单地说:它存储输入的字符串。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-27
        • 2017-11-19
        • 1970-01-01
        • 1970-01-01
        • 2015-10-10
        相关资源
        最近更新 更多