Как отфильтровать два списка в Kotlin? - PullRequest
0 голосов
/ 12 июня 2019

У меня есть два List<CustomObject>, и я хочу создать отфильтрованный список , который будет содержать только элементы из второго списка , которые отсутствуют в первый список .Параметр для сравнения - objectId, который является уникальным String значением.

Ответы [ 2 ]

1 голос
/ 12 июня 2019

Я думаю, что следующее может работать хорошо:

val firstListObjectIds = firstList.map { it.objectId }.toSet()
val filteredList = secondList.filter { !firstListObjectIds.contains(it.objectId) }
0 голосов
/ 12 июня 2019

Сначала получите идентификаторы первого списка:

val firstListIds = firstList.map { it.objectId }. 

Затем отфильтруйте второй список, проверив, находится ли идентификатор среди идентификаторов первого списка:

val result = secondList.filter { it.objectId !in firstListIds }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...