- Kotlin 教程
- Kotlin - 首頁
- Kotlin - 概述
- Kotlin - 環境搭建
- Kotlin - 架構
- Kotlin - 基本語法
- Kotlin - 註釋
- Kotlin - 關鍵字
- Kotlin - 變數
- Kotlin - 資料型別
- Kotlin - 運算子
- Kotlin - 布林值
- Kotlin - 字串
- Kotlin - 陣列
- Kotlin - 範圍
- Kotlin - 函式
- Kotlin 控制流
- Kotlin - 控制流
- Kotlin - if...else 表示式
- Kotlin - when 表示式
- Kotlin - for 迴圈
- Kotlin - while 迴圈
- Kotlin - break 和 continue
- Kotlin 集合
- Kotlin - 集合
- Kotlin - 列表
- Kotlin - 集合
- Kotlin - 對映
- Kotlin 物件和類
- Kotlin - 類和物件
- Kotlin - 建構函式
- Kotlin - 繼承
- Kotlin - 抽象類
- Kotlin - 介面
- Kotlin - 可見性控制
- Kotlin - 擴充套件
- Kotlin - 資料類
- Kotlin - 密封類
- Kotlin - 泛型
- Kotlin - 委託
- Kotlin - 解構宣告
- Kotlin - 異常處理
- Kotlin 有用資源
- Kotlin - 快速指南
- Kotlin - 有用資源
- Kotlin - 討論
Kotlin 陣列 - distinctBy() 函式
Kotlin 陣列 distinctBy() 函式用於從給定陣列中,使用選擇器函式檢索包含不同元素的列表。結果列表中的元素順序與其在源陣列中的順序相同。
如果給定陣列中存在多個相似的元素或大小寫相同的元素,則結果列表中只包含第一次出現的元素。例如,如果陣列是 ['a', 'A', 'b', 'B'],則 distinctBy 將輸出 [a, b]。
語法
以下是 Kotlin 陣列 distinctBy() 函式的語法:
fun <T, K> Array<out T>.distinctBy(selector: (T) -> K): List<T>
引數
此函式接受選擇器作為引數。
返回值
此函式返回一個僅包含 distinctBy 元素的列表。
示例 1
在下面的基本示例中,我們使用 distinctBy() 函式從字串陣列中選擇元素,其區分基於起始字元:
fun main(args: Array<String>) {
var array = arrayOf("apple", "banana", "mango", "berry", "mantos", "guava")
var result = array.distinctBy { it[0] }
println(result)
}
輸出
以下是輸出:
[apple, banana, mango, guava]
示例 2
現在,讓我們來看另一個例子,我們從一個字元陣列中選擇元素,其區分基於大小寫:
fun main(args: Array<String>) {
val char = arrayOf('a', 'A', 'b', 'B', 'A', 'a', 'b')
//here distinct is not checking the upper and lower case.
val res1 = char.distinct()
println("use of distinct function $res1")
//here distinctBy is checking the upper and lower case both
val res2 = char.distinctBy { it.uppercase() }
println("use of distinctBy function $res2")
}
輸出
以下是輸出:
use of distinct function [a, A, b, B] use of distinctBy function [a, b]
示例 3
下面的示例計算陣列中不同元素的和:
fun main(){
var sum:Int =0
var add = arrayOf<Int>(1,2,3,1,2).distinctBy { it }
for (i in 0 until add.size){
sum = sum + add[i]
}
println("sum of all distinct element is: $sum")
}
輸出
以下是輸出:
sum of all distinct element is: 6
kotlin_arrays.htm
廣告