[Kotlin]MutableList(ミュータブルリスト)を降順にソートするには?

Kotlin

どうも、ちょげ(@chogetarou)です。

MutableList(ミュータブルリスト)を降順に並び替える方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

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(ミュータブルリスト)を比較する値で降順に並び替えます。

sortByDescending{}のクロージャー内では、MutableListの要素を「it」で取得します。

使用例

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を生成します。

sortedByDescending{}のクロージャー内では、MutableListの要素を「it」で取得します。

使用例

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 }

コメント

タイトルとURLをコピーしました