gpt4 book ai didi

java - 将 ArrayList 与 JCF Map 结合使用

转载 作者:行者123 更新时间:2023-12-02 12:25:40 25 4
gpt4 key购买 nike

我是新使用Java集合框架。我有以下代码:

private Map<String, List<Song>> byArtist() {
Map<String, List<Song>> byArtist = new HashMap<>();
for (Song song : mSongs) {
List<Song> artistSongs = byArtist.get(song.getArtist());
if (artistSongs == null) {
artistSongs = new ArrayList<>();
byArtist.put(song.getArtist(), artistSongs);
}
artistSongs.add(song);
}
return byArtist;
}

代码工作正常,但是,我不明白的部分是 map byArtist 是怎样的。如果我们仅使用 if 中的 put 方法添加艺术家和歌曲,则正在更新条件,并且如果我们正在创建 artistSongs 的新实例多变的。其他实例如何以及在哪里存储?

最佳答案

每首歌曲都有一位艺术家,您正在迭代歌曲并将歌曲添加到艺术家名称中,因此您不仅可以查找给定歌曲的艺术家,还可以查找给定艺术家的歌曲。更重要的是你的

Map<String, List<Song>> byArtist = new HashMap<>(); 

应该改为

Map<String, List<Song>> byArtist = new HashMap<String, List<Song>>();

关于java - 将 ArrayList 与 JCF Map 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45493330/

25 4 0