【发布时间】:2016-07-15 20:43:48
【问题描述】:
所以我有一个ArrayList,带有一个返回歌曲列表的哈希图。所以我的问题是,我将如何修改此代码以使其按字母顺序返回歌曲?
这是代码...
public ArrayList<HashMap<String, String>> getPlayList(){
File home = new File(MEDIA_PATH);
if (home.listFiles(new FileExtensionFilter()).length > 0) {
for (File file : home.listFiles(new FileExtensionFilter())) {
HashMap<String, String> song = new HashMap<String, String>();
song.put("songTitle", file.getName().substring(0, (file.getName().length() - 4)));
song.put("songPath", file.getPath());
// Adding each song to SongList
songsList.add(song);
}
}
// return songs list array
return songsList;
}
【问题讨论】:
-
为什么要在 Array 中使用 HashMap?使用 Map.Entry
数组,例如 array = new ArrayList >();那么你可以使用 Collections.sort 并像用户“kevingreen”所说的那样实现一个比较器。 -
别忘了定义你的songsList ArrayList 变量!