Java 相同的ArrayList但对象顺序不同
该死的家伙们 我有一个关于ArrayList的小问题。我正在用android Studio编写一个android应用程序(一种音乐播放器),因此我有一个main活动,第二个活动是关于当前歌曲的信息,还有一个音乐服务 我现在的问题是,我给服务提供了一个歌曲列表,服务应该播放这些歌曲,我通过DataHolder给第二个活动提供了相同的列表,用于显示歌曲信息 但是列表的顺序不同。有人能告诉我为什么以及如何解决这个问题吗 下面是一些代码: 这里我定义了ArrayList。我想有一个随机顺序,所以我洗牌一次。在checkRunTimePermission中,列表将被填充Java 相同的ArrayList但对象顺序不同,java,android,arraylist,Java,Android,Arraylist,该死的家伙们 我有一个关于ArrayList的小问题。我正在用android Studio编写一个android应用程序(一种音乐播放器),因此我有一个main活动,第二个活动是关于当前歌曲的信息,还有一个音乐服务 我现在的问题是,我给服务提供了一个歌曲列表,服务应该播放这些歌曲,我通过DataHolder给第二个活动提供了相同的列表,用于显示歌曲信息 但是列表的顺序不同。有人能告诉我为什么以及如何解决这个问题吗 下面是一些代码: 这里我定义了ArrayList。我想有一个随机顺序,所以我洗牌一
songList = new ArrayList<Song>();
checkRunTimePermission();
Collections.shuffle(songList);
这是我的DataHolder类
public class DataHolder extends Application {
private ArrayList<Song> songList;
public ArrayList<Song> getSonglist() {return songList;}
public void setSongList (ArrayList<Song> data) {this.songList = data;}
}
公共类数据持有者扩展应用程序{
私人ArrayList歌曲列表;
public ArrayList getSonglist(){return songList;}
public void setSongList(ArrayList data){this.songList=data;}
}
您尝试过这个解决方案吗
public void setSongList (ArrayList<Song> data) {
this.songList.addAll(data);
}
public void setSongList(数组列表数据){
this.songList.addAll(数据);
}
您尝试过这个解决方案吗
public void setSongList (ArrayList<Song> data) {
this.songList.addAll(data);
}
public void setSongList(数组列表数据){
this.songList.addAll(数据);
}
似乎缺少某些内容。您应该提供一个。这对你来说是更多的工作,但你可能会在做的同时找到解决方案,人们会更容易帮助你。看起来缺少了一些东西。你应该提供一个解决方案。这对你来说是更多的工作,但是你可能会在做的同时找到解决方案,人们会更容易帮助你。ArrayList是一个顺序列表。因此,插入和检索顺序是相同的。所以,若要将列表放在数据持有者上,您可以尝试使用addAll,也可以添加每个元素,如下所示:public void setSongList(ArrayList data){for(Song:data)this.songList.add(Song);}当我使用addAll时,应用程序会崩溃。您只需在前面实例化对象。ArrayList是一个顺序列表。因此,插入和检索顺序是相同的。所以,若要将列表放在您的数据持有者上,您可以尝试使用addAll,或者您可以这样添加每个元素:public void setSongList(ArrayList data){for(Song-Song:data)this.songList.add(Song);}当我使用addAll时,应用程序会崩溃。您只需要先实例化您的对象。