Kotlin Перебрать список списков

Допустим, у нас есть List<User> и у каждого пользователя есть List<Movies> из всех фильмов, которые смотрели пользователи.

Что если мы хотим получить комбинацию идентификатора пользователя и всех просматриваемых видеороликов в жанрах типа "драма", как мы могли бы сделать это без создания временного изменяемого Списка? Есть ли оператор для перебора списка списков и получения этих данных?

1 ответ

Решение

Насколько я понимаю, ваше решение должно выглядеть так:

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

Это приводит к комбинации идентификатора пользователя и всех драм, которые просмотрел пользователь. Для более точного ответа, пожалуйста, добавьте свой User а также Movies классы

Другие вопросы по тегам