代码之家  ›  专栏  ›  技术社区  ›  carlosmaciel

Kotlin迭代列表

  •  2
  • carlosmaciel  · 技术社区  · 7 年前

    假设我们有一个 List<User> 每个用户都有一个 List<Movies> 用户观看的所有电影。

    如果我们想在“戏剧”类型下获得用户ID和所有观看过的电影的组合,那么我们如何在不创建临时可变列表的情况下做到这一点呢?是否有一个运算符迭代列表并获取此数据?

    1 回复  |  直到 7 年前
        1
  •  4
  •   hluhovskyi    7 年前

    据我所知,您的解决方案应如下所示:

    users.map { user ->
        user.id to user.movies
            .filter { movie -> movie.genre == Genre.DRAMA }
    }
    .forEach { (userId, dramas) ->
        //do whatever you want with combinations
    }
    

    结果是用户ID和用户观看过的所有戏剧的组合。 要获得更精确的答案,请添加 User Movies