distinctBy, , , Set. Set , List List List distinctBy.
public inline fun <T, K> Iterable<T>.distinctBy(selector: (T) -> K): List<T> {
val set = HashSet<K>()
val list = ArrayList<T>()
for (e in this) {
val key = selector(e)
if (set.add(key))
list.add(e)
}
return list
}
, , , , .
data class Selector(val property1: String, val property2: String, ...)
Selector :
myObjectList.distinctBy { Selector(it.property1, it.property2, ...) }