Отфильтровать данные по спику аргументов
Есть коллекция с какими-то объектами. Допустим у каждого из них есть id. Есть еще список с каким-то количеством id.
Нужно из списка объектов сделать выборку объектов по списку id. Как это сделать простым путем на Java я это знаю. Мне придется пробежать по массиву объектов столько раз сколько элементов в списке id и повыбирать оттуда. Но мне кажется, что на котлине есть более элегантное решение. Буду благодарен если кто подскажет.
Ответы (1 шт):
Автор решения: Alex_Skvortsov
→ Ссылка
Можно использовать метод filter
data class SomeClass(
val id: Int,
val value: String
)
fun so(){
val idList = listOf(1, 3, 5)
val objectsList = listOf(SomeClass(0, "0"), SomeClass(1, "1"), SomeClass(2, "2"), SomeClass(3, "3"), SomeClass(4, "4"), SomeClass(5, "5"))
val filtered = objectsList.filter { it.id in idList }
println(filtered)
}