Kotlin で Collection をシャッフルする
こんにちは、 @kz_morita です。
今回は,Kotlin でリストをシャッフルする方法についてまとめます.
破壊的シャッフル Kotlin の Array 型 もしくは,MutableList 型に shuffle というメソッドが用意されているのでこちらを利用します.
fun main() { val list = mutableListOf(1,2,3,4,5,6,7) list.shuffle() println("Shuffled: ${list}") } これを実行すると以下のような結果が得られます.
Shuffled: [7, 5, 2, 6, 3, 4, 1] 破壊的な,シャッフルなのでもとのリストを変更するため,List 型 (Immutable) には使用できません(定義されていません)
fun main() { val list = listOf(1,2,3,4,5,6,7) list.shuffle() // Compile Error! println("Shuffled: ${list}") } fun <T> Iterable<T>.shuffled(): List<T> 非破壊的シャッフル Shuffled というメソッドが用意されているのでこちらを利用します.
fun main() { val list = listOf(1,2,3,4,5,6,7) val shuffledList = list.