Kotlin Итерация над списком списков

80
9

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

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

спросил(а) 2021-01-19T16:06:39+03:00 9 месяцев назад
1
Решение
102

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

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

ответил(а) 2021-01-19T16:06:39+03:00 9 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема