如何在Kotlin中过滤两个列表?

时间:2019-06-12 10:16:12

标签: android kotlin

我有两个List<CustomObject>,我想创建一个过滤列表,其中将仅包含第二个列表中的项目,这些项目不存在第一个列表中的“ strong”。用于比较的参数是objectId,这是唯一的String值。

2 个答案:

答案 0 :(得分:1)

我认为以下做法可能会很好:

val firstListObjectIds = firstList.map { it.objectId }.toSet()
val filteredList = secondList.filter { !firstListObjectIds.contains(it.objectId) }

答案 1 :(得分:0)

首先,获取第一个列表的ID:

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

然后,通过检查ID是否在第一个列表的ID中来过滤第二个列表:

val result = secondList.filter { it.objectId !in firstListIds }