Issue
I am trying to extract from a list all element which are not in the sublist already created. I cannot make it work using .filterNot because it filtering on the overall data class store in the list.
var subList2 = allList.filterNot { subList1.contains(it) }.toMutableList()
but allList and subList are a list of data class defined as :
data class Food(
var name: Name,
var state: State
)
As of now, using this code, the sublist2 can contain food that are in sublist1 because state is different.
I want the filter to be done only on name so the sublist2 only contain food which is not in the sublist1 whatever the state is.
Any idea ?
Solution
Try to map the subList1 names:
val subList1Names = subList1.map { it.name }
var subList2 = allList.filterNot { it.name in subList1Names }.toMutableList()
Answered By - Luca Pizzini
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.