1

我有一个清单

 val shoeCart = ShoeRepository.getShoeFromCart(this@ActivityCart)

来自 ShoeRepository

 fun getShoeFromCart(context: Context): List<ShoeModel> {
    return getCart(context)
}

ShoeModel 是一个数据类

data class ShoeModel

我想知道我的 shoeCart 中是否有重复的条目,如果有,有多少?

4

1 回答 1

4

数据类实现了它们的equals方法,因此我们可以使用eachCountMap 扩展将值映射到它们的数量。

data class ShoeModel(val someProperty: Int)

fun main() {
    val source = listOf(ShoeModel(1), ShoeModel(2), ShoeModel(1), ShoeModel(2), ShoeModel(3))
    println(source.groupingBy { it }.eachCount().filter { (_, v) -> v >= 2 })
}

此代码段的输出是{ShoeModel(someProperty=1)=2, ShoeModel(someProperty=2)=2}.

于 2020-07-21T15:41:09.407 回答