- 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 陣列 - sortedWith() 函式
Kotlin 陣列的 sortedWith() 函式用於根據指定的比較器函式返回包含陣列元素的已排序列表。
比較器是一個函式,根據傳遞給函式的兩個變數的比較結果返回 1、-1 或 0。
排序是穩定的。這意味著相等元素在排序後會保持彼此之間的相對順序。
語法
以下是 Kotlin 陣列 sortedWith() 函式的語法:
fun <T> Array<out T>.sortedWith( comparator: Comparator<in T> ): List<T>
引數
此函式接受一個比較器作為引數。
返回值
此函式返回一個包含此陣列已排序元素的列表。
示例 1
以下是一個演示 sortedWith() 函式用法的基本示例:
fun main(args: Array<String>){
val arr = arrayOf<Int>(5, 3, 6, 7, 4)
var res = arr.sortedWith(Comparator<Int>{ a, b ->
when {
a > b -> 1
a < b -> -1
else -> 0
}
})
println("Sorted array: $res")
}
輸出
以上程式碼生成以下輸出:
Sorted array: [3, 4, 5, 6, 7]
示例 2
現在,我們建立一個字串陣列。然後我們使用sortedWith()函式對陣列的元素進行排序:
fun main(args: Array<String>){
val arr = arrayOf<String>("Daisy", "Rahul", "Ram", "Prajwalani")
var res = arr.sortedWith(Comparator<String>{ a, b ->
when {
a > b -> 1
a < b -> -1
else -> 0
}
})
println("Sorted array: $res")
}
輸出
以下是輸出:
Sorted array: [Daisy, Prajwalani, Rahul, Ram]
示例 3
下面的示例建立一個比較器,用於以降序對元素進行排序。然後我們使用 sortedWith() 函式根據此比較器對陣列的元素進行排序:
fun main(args: Array<String>) {
val numbers = arrayOf(42, 7, 23, 89, 5, 34)
// Display the original array
println("Original array: ${numbers.joinToString(", ")}")
// create a custom comparator to sort the array in descending order
val descendingComparator = Comparator<Int> { a, b -> when {
a < b -> 1
a > b -> -1
else -> 0 }
}
// Sort the array using the custom comparator
val sortedNumbers = numbers.sortedWith(descendingComparator)
// Display the sorted array
println("Sorted array with comparator: ${sortedNumbers.joinToString(", ")}")
}
輸出
以上程式碼產生以下輸出:
Original array: 42, 7, 23, 89, 5, 34 Sorted array with comparator: 89, 42, 34, 23, 7, 5
kotlin_arrays.htm
廣告