- 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 陣列 - sortWith() 函式
Kotlin 陣列的 sortWith() 函式用於根據比較器函式指定的順序就地排序陣列的元素。
此函式還接受兩個可選引數:formIndex 和 toIndex,以根據比較器對範圍內的元素進行排序。
比較器是一個函式,它根據傳遞給函式的兩個變數的比較返回 1、-1 或 0。
異常
以下是異常:
IndexOutOfBoundsException - 如果 fromIndex 小於零或 toIndex 大於此陣列的大小
IllegalArgumentException - 如果 fromIndex 大於 toIndex。
語法
以下是 Kotlin 陣列 sortWith() 函式的語法:
fun <T> Array<T>.sortWith(comparator: Comparator<in T>)
引數
此函式接受以下引數。
formInfex - 它表示要排序的範圍的開始(包含),預設為 0。
toIndex - 它表示要排序的範圍的結束(不包含),預設為此陣列的大小。
返回值
此函式不返回值。它將原始陣列修改為已排序的陣列。
示例 1
以下是一個基本示例,用於演示 sortWith() 函式的使用:
fun main(args: Array<String>){
val arr = arrayOf<Int>(5, 3, 6, 7, 4)
arr.sortWith(Comparator<Int>{ a, b ->
when {
a > b -> 1
a < b -> -1
else -> 0
}
})
print("Sorted array: ")
println(arr.joinToString())
}
輸出
以上程式碼生成以下輸出:
Sorted array: 3, 4, 5, 6, 7
示例 2
現在,我們建立一個字串陣列。然後我們使用sortWith()函式以降序排列陣列的元素:
fun main(args: Array<String>){
val arr = arrayOf<String>("Daisy", "Rahul", "Aman", "Prajwalani")
arr.sortWith(Comparator<String>{ a, b ->
when {
a < b -> 1
a > b -> -1
else -> 0
}
})
println("Sorted array: " + arr.joinToString())
}
輸出
以下是輸出:
Sorted array: Rahul, Prajwalani, Daisy, Aman
示例 3
以下示例建立一個比較器以降序排列元素。然後我們使用 sortWith() 函式根據此比較器對陣列的元素進行排序:
fun main(args: Array<String>) {
val numbers = arrayOf(42, 10, 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
numbers.sortWith(descendingComparator)
// Display the sorted array
println("Sorted array with comparator:"+ numbers.joinToString())
}
輸出
以上程式碼產生以下輸出:
Original array: 42, 10, 23, 89, 5, 34 Sorted array with comparator:89, 42, 34, 23, 10, 5
kotlin_arrays.htm
廣告