如何在 Kotlin 列表中查詢重複值的個數?
在這篇文章中,我們將學習如何在 Kotlin 列表中查詢重複值的個數。
示例 – 使用 groupingBy() 查詢重複值
Kotlin 庫提供了一個名為 groupingBy() 的行內函數,它可以從陣列建立一個分組源,稍後可與一個分組和摺疊操作一起使用,使用指定的 keySelector 函式從每個元素中提取鍵。
groupingBy() 函式的宣告如下:
inline fun <T, K> Array<out T>.groupingBy( crossinline keySelector: (T) -> K ): Grouping<T, K>
在這個例子中,我們將建立一個值列表並在列表中實現 groupingBy()。
fun main(args: Array<String>) {
val mylist = listOf("C", "Java", "C#", "Java", "C", "C#", "SQL")
println(mylist.groupingBy { it }.eachCount().filter { it.value >= 1 })
}輸出
它將產生以下輸出:
{C=2, Java=2, C#=2, SQL=1}示例 – 使用 count() 查詢重複值
另一種查詢 Kotlin 列表中重複元素個數的方法是使用 count() 函式。在這個例子中,我們將修改上面的程式碼來生成每個值在列表中出現的次數。
fun main(args: Array<String>) {
val mylist = listOf("C", "Java", "C#", "Java", "C", "C#", "SQL")
println("Input List: " + mylist)
println("Count of C: " + mylist.count{it == "c"})
println("Count of Java: " + mylist.count{it == "Java"})
println("Count of C# : " + mylist.count{it == "C#"})
println("Count of SQL: " + mylist.count{it == "SQL"})
}輸出
它將產生以下輸出:
Input List: [C, Java, C#, Java, C, C#, SQL] Count of C: 0 Count of Java: 2 Count of C# : 2 Count of SQL: 1
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP