Kotlin - 如何在列表中查找重复值的数量?

K.O*_*.Os 18 functional-programming kotlin

我有一个列表,例如:

val list = listOf("orange", "apple", "apple", "banana", "water", "bread", "banana")
Run Code Online (Sandbox Code Playgroud)

如何检查苹果在此列表中重复的次数?

sol*_*4me 53

查找列表中所有重复值的一种方法是使用groupingBy然后过滤值> 1.例如


val list = listOf("orange", "apple", "apple", "banana", "water", "bread", "banana")
println(list.groupingBy { it }.eachCount().filter { it.value > 1 })

产量

{apple=2, banana=2}
Run Code Online (Sandbox Code Playgroud)

  • 如果您不关心知道哪个索引具有重叠值(例如用于验证),则 `println(list.groupingBy { it }.eachCount().any { it.value > 1 })` 会更有效,因为它第一次出现时停止。 (10认同)