[Kotlin]配列(Array)の要素をランダムに並び替えるには?

Kotlin

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

配列(Array)の要素をランダムに並び替えてシャッフルする方法を紹介します。

スポンサーリンク

方法

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

配列(Array)の要素をランダムに並び替えてシャッフルする方法は、2つあります。

shuffle()

1つは、shuffle()を使う方法です。

具体的な方法としては、array.shuffle()のように、配列からshuffle()を呼び出します。

array.shuffle()

上記のshuffle()は、呼び出した配列をランダムに並び替えます。

使用例

fun main() {
    val numbers = arrayOf(1, 2, 3, 4, 5)
    
    numbers.shuffle()
    
    println(numbers.contentToString())
}
出力:
[4, 5, 3, 2, 1]

shuffled()

もう1つは、shuffled()を使う方法です。

まず、配列からtoList()を呼び出します。

toList()からshuffled()を呼び出します。

そして、shuffled()の結果を配列に変換します。

val result : Array<T> = array.toList().shuffled().toTypedArray()

上記のtoTypedArray()は、toList()を呼び出した配列(Array)をランダムに並び替えた新しい配列を返します。

使用例

fun main() {
    val numbers = arrayOf(1, 2, 3, 4, 5)
    
    val result : Array<Int> = numbers.toList().shuffled().toTypedArray()
    
    println(numbers.contentToString())
    println(result.contentToString())
}
出力:
[1, 2, 3, 4, 5]
[5, 3, 4, 2, 1]

まとめ

配列(Array)の要素をランダムに並び替えてシャッフルする方法は、次の2つです。

  • shuffle()を使う方法
    array.shuffle()
  • shuffled()を使う方法
    val result : Array<T> = array.toList().shuffled().toTypedArray()

コメント

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