Kotlin 在 mutableList 中查找重复项
Kotlin finding duplicate items in mutableList
我有一个列表
val shoeCart = ShoeRepository.getShoeFromCart(this@ActivityCart)
来自 ShoeRepository
fun getShoeFromCart(context: Context): List<ShoeModel> {
return getCart(context)
}
ShoeModel是一个数据class
data class ShoeModel
我想知道我的 shoeCart 中是否有重复条目,如果有,有多少?
数据 类 实现了它们的 equals
方法,因此我们可以使用 eachCount
地图扩展将值映射到它们的数量。
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}
。
我有一个列表
val shoeCart = ShoeRepository.getShoeFromCart(this@ActivityCart)
来自 ShoeRepository
fun getShoeFromCart(context: Context): List<ShoeModel> {
return getCart(context)
}
ShoeModel是一个数据class
data class ShoeModel
我想知道我的 shoeCart 中是否有重复条目,如果有,有多少?
数据 类 实现了它们的 equals
方法,因此我们可以使用 eachCount
地图扩展将值映射到它们的数量。
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}
。