java - 集合迭代器不返回每​​个值

标签 java android collections iterator

我正在尝试从 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/

相关文章:

java - 为什么 java.util.Properties 实现 Map<Object,Object> 而不是 Map<String,String>

java - 将原始 long 数组转换为 Long 列表

java - Hibernate:在 SQL Server 2008 上,列已从 datetime 更改为 datetime2。我如何更新 hibernate 配置以反射(reflect)这一点?

android - 向操作栏添加操作

java - 如何安装 ActiveAndroid 以便与 Eclipse 一起使用?

java - 使用 Android 应用登录 Twitter 失败并出现授权错误

php - Laravel 从集合中获取一个字段的另一个字段值

java - Else If Condition 语句中的变量

java - 您能解释一下 Java Regex 情况的奇怪行为吗?

java - 泛型数组转换