どうも、ちょげ(@chogetarou)です。
MutableList(ミュータブルリスト)を降順に並び替える方法を紹介します。
方法

MutableList(ミュータブルリスト)を降順にソートする方法は、4つあります。
sortDescending()
1つ目は、sortDescending()を使う方法です。
具体的な方法としては、「list.sortDescending()
」のように、ドットでMutableListからsortDescending()を呼び出します。
//list=対象のMutableList
list.sortDescending()
上記のsortDescending()は、呼び出したMutableList(ミュータブルリスト)を降順に並び替えます。
使用例
fun main() {
val numbers = mutableListOf(5, 2, 4, 3, 1)
numbers.sortDescending()
println(numbers)
}
出力:
[5, 4, 3, 2, 1]
sortedDescending()
2つ目は、sortedDescending()を使う方法です。
具体的な方法としては、「list.sortedDescending()
」のように、ドットでMutableListからsortedDescending()を呼び出します。
//list=対象のMutableList
val result: List<T> = list.sortedDescending()
上記のsortedDescending()は、呼び出したMutableList(ミュータブルリスト)を降順に並び替えたListを生成します。
また、sortedDescending()は、呼び出したMutableListに影響を与えません。
使用例
fun main() {
val numbers = mutableListOf(5, 2, 4, 3, 1)
val result: List<Int> = numbers.sortedDescending()
println(result)
}
出力:
[5, 4, 3, 2, 1]
sortByDescending()
3つ目は、sortByDescending()を使う方法です。
まず、MutableListからsortByDescending{}を呼び出します。
そして、sortByDescending{}のクロージャー内に、比較する値を指定します。
//list=対象のMutableList, {}内に並び替える際、比較する値を指定
list.sortByDescending { it }
上記のsortByDescending{}は、呼び出したMutableList(ミュータブルリスト)を比較する値で降順に並び替えます。
使用例
fun main() {
val list = mutableListOf("DEF", "A", "GHIJ","BC")
//文字列の長さで降順にソート
list.sortByDescending { it.length }
println(list)
}
出力:
[GHIJ, DEF, BC, A]
sortedByDescending()
4つ目は、sortedByDescending()を使う方法です。
まず、MutableListからsortedByDescending{}を呼び出します。
そして、sortedByDescending{}のクロージャー内に、比較する値を指定します。
//list=対象のMutableList, {}内に並び替える際、比較する値を指定
val result: List<T> = list.sortedByDescending { it.length }
上記のsortedByDescending{}は、呼び出したMutableList(ミュータブルリスト)を比較する値で降順に並び替たLIstを生成します。
使用例
fun main() {
val list = mutableListOf("DEF", "A", "GHIJ","BC")
//文字列の長さで降順にソート
val result: List<String> = list.sortedByDescending { it.length }
println(result)
}
出力:
[GHIJ, DEF, BC, A]
まとめ
MutableList(ミュータブルリスト)を降順にソートする方法は、次の4つです。
- sortDescending()を使う方法
list.sortDescending()
- sortedDescending()を使う方法
val result: List<T> = list.sortedDescending()
- sortByDescending()を使う方法
list.sortByDescending { it }
- sortedByDescending()を使う方法
val result: List<T> = list.sortedByDescending { it.length }
コメント