填寫Hashmap<Object, Collection<Object>>
時出現問題。每當我想要填充HashMap的值部分(在這種情況下是集合)時,我的對象(需要添加到集合中)僅取對象的最後接收值。 例如我的代碼是這樣的(使用LastFM等API):Filling HashMaps <對象,集合<Object>>
Map<Object, Collection<Tag>> tracksTags = new HashMap<Track, Collection<Tag>>();
Collection<Track> trackSet = tracks.getPageResults();
Collection<Tag> tags = new HashSet<Tag>();
String artist = "";
String trackTitle = "";
int counter = 0;
for (Track track : trackSet) {
tags.clear();
artist = track.getArtist();
trackTitle = track.getName();
Collection<Tag> tagList = Track.getTopTags(artist, trackTitle,
apiKey);
for (Tag tag : tagList) {
if (counter <= 9) {
counter++;
System.out.println(trackTitle + " " + tag.getName() + " "
+ tag.getCount());
tags.add(tag);
} else
break;
}
counter = 0;
tracksTags.put(track, tags);
}
我的問題是標籤只需要上一次提取的價值......還是不知道爲什麼。即使我不知道它是否是一個Hashmap-Filling問題。
希望有任何幫助。
您的第一行是錯誤。 – arshajii
哦,當然...在我的代碼中它寫的是正確的! 將盡快編輯。 – jay