arraylist循环不显示

时间:2016-05-11 17:35:36

标签: java arraylist

我需要制作一个程序让你添加CD标题,删除它们等。

我需要为我的程序使用Arraylist(存储歌曲)

代码:

    ArrayList songlist = new ArrayList();
    Collections.addAll(songlist, "Something", "Hard Days Night", "I am the Walrus", "Yesterday", "All the Lonely People");
    Collections.sort(songlist);

    int songlistsize = songlist.size ();
    for (int i = 0; i < songlistsize; i++) {
        outputField.setText(i + ": " + songlist.get(i));

问题是程序只显示“昨天”,而不是其他任何内容。

2 个答案:

答案 0 :(得分:0)

outputField.setText(i + ": " + songlist.get(i));

因为您正在设置最后一个值而不是追加。做这样的事情:

    StringBuilder string = new StringBuilder();
    for (int i = 0; i < songlistsize; i++) {
            string.append(songlist.get(i));
    }
    outputField.setText(string);

代码还有许多其他问题,但我坚持这一点。

答案 1 :(得分:0)

如果您尝试在控制台上打印输出,您将看到处理该集合的部分正常工作。 但是由于setText()用最新的歌曲名称替换当前的String,你只能看到“Yesterday”,因为它在你的收藏的最后。 这就是为什么你应该尝试将下一个歌曲名称附加到你的String或确保你复制你当前的String,添加下一个项目,最后使用setText()

例如:

String string = "";
for (int i = 0; i < songlistsize; i++) 
{
        string = outputField.getText() + songlist.get(i);
        outputField.setText(string);
}