【发布时间】:2019-04-08 12:31:12
【问题描述】:
我有 2 个数组列表。一个包含歌曲的标题,另一个包含歌曲的位置。如何将它们排序在一起?
【问题讨论】:
我有 2 个数组列表。一个包含歌曲的标题,另一个包含歌曲的位置。如何将它们排序在一起?
【问题讨论】:
给Class点赞
public class Song{
private String title;
private String location;
}
创建一个List<Song> 并将歌曲的所有标题和对应位置复制到同一对象中并将它们保存到新列表中。现在对新列表进行排序。
【讨论】:
创建自定义类Song
class Song {
private String songName, SongUrl;
public String getSongName() {
return songName;
}
public void setSongName(String songName) {
this.songName = songName;
}
public String getSonglink() {
return Songlink;
}
public void setSonglink(String songlink) {
Songlink = songlink;
}
}
不是使用两个 ArrayList,而是使用该类创建单个 Arraylist 并将其用作数据源。
List<Song> songData = new ArrayList<Song>();
现在您可以使用 Comparator 轻松对其进行排序
Collections.sort(songData, new Comparator<Song>() {
@Override
public int compare(Song o1, Song o2) {
return o1.getSongName().compareTo(o2.getSongName());
}
});
【讨论】:
//loop start
//some code
arrayList.add(currenttitle+"////.////"+currentartist+" | "+currentalbum+"////.////"+currentlocation);
//some code
//loop end
Collections.sort(arrayList,String.CASE_INSENSITIVE_ORDER);
for(int i=0;i<arrayList.size();i++) {
arrayListloc.add(arrayList.get(i).split("////.////")[2]);
}
这解决了我的问题。
【讨论】: