どうも、ちょげ(@chogetarou)です。
mutableListを逆順にする方法を紹介します。
方法

mutableListを逆順にする方法は、3つあります。
reverse()
1つ目は、reverse()を使う方法です。
具体的には、list.reverse()
のように、mutableListからreverse()を呼び出します。
list.reverse()
reverse()は、呼び出したmutableListを逆順にします。
使用例
fun main() {
val numbers = mutableListOf(1, 2, 3, 4, 5)
numbers.reverse()
println(numbers)
}
出力:
[5, 4, 3, 2, 1]
reversed()
2つ目は、reversed()を使う方法です。
まず、mutableListからreversed()関数を呼び出します。
そして、reversed()関数からtoMutableList()を呼び出します。
val result : MutableList<Int> = list.reversed().toMutableList()
上記のtoMutableList()は、reversed()を呼び出したmutableListを逆順にしたmutableListを返します。
使用例
fun main() {
val numbers = mutableListOf(1, 2, 3, 4, 5)
val result : MutableList<Int> = numbers.reversed().toMutableList()
println(numbers)
println(result)
}
出力:
[1, 2, 3, 4, 5]
[5, 4, 3, 2, 1]
asReversed()
3つ目は、asReversed()を使う方法です。
具体的には、list.asReversed()
のように、mutableListからasReversed()を呼び出します。
val result : MutableList<Int> = list.asReversed()
上記のasReversed()は、呼び出したmutableListを反転したmutableListを返します。
使用例
fun main() {
val numbers = mutableListOf(1, 2, 3, 4, 5)
val result : MutableList<Int> = numbers.asReversed()
println("変更前:")
println(numbers)
println(result)
numbers[0] = 10
numbers[3] = 100
println("\nオリジナルの変更後:")
println(numbers)
println(result)
}
出力:
変更前:
[1, 2, 3, 4, 5]
[5, 4, 3, 2, 1]
オリジナルの変更後:
[10, 2, 3, 100, 5]
[5, 100, 3, 2, 10]
まとめ
mutableListを逆順にする方法は、次の3つです。
- reverse()を使う方法
list.reverse()
- reversed()を使う方法
val result : MutableList<Int> = list.reversed().toMutableList()
- asReversed()を使う方法
val result : MutableList<Int> = list.asReversed()
コメント