我正在尝试从 Collection
返回序列并将其应用于 TextView
。当我设置文本时,只设置了一个值,即序列的最后一个。当我打印序列时,为了检查它是否正常工作,一切都打印正确。据我所知,我通过说 while the iterator hasNext()
, get next()
来做这件事,在这种情况下,是轨道的名称.我已经尝试了其他几种方法来正确设置 Collection,但在研究了如何使用 Iterator 和 Collection 之后,我总是以这种方法结束。我缺少什么?
public static String getTopTracks(String mArtistName) {
String returnTopTracks = "";
Collection<Track> top = Artist.getTopTracks(mArtistName, key);
Iterator<Track> itr = top.iterator();
while (itr.hasNext()) {
returnTopTracks = itr.next().getName();
System.out.println(returnTopTracks);
}
return returnTopTracks;
}
最佳答案
您可能希望将您的热门轨道作为 Collections 返回
public static Collection<String> getTopTracks(String mArtistName) {
String returnTopTrack = "";
Collection<Track> top = Artist.getTopTracks(mArtistName, key);
Collection<String> returnTopTracks = new ArrayList<String>();
Iterator<Track> itr = top.iterator();
while (itr.hasNext()) {
returnTopTrack = itr.next().getName();
returnTopTracks.add(returnTopTrack);
System.out.println(returnTopTrack);
}
return returnTopTracks;
关于java - 集合迭代器不返回每个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9355187/