Функция asReversed
Функция asReversed возвращает представление
списка в обратном порядке. При этом новый список
не создается - возвращается только обратное
представление исходного списка. Любые изменения
в исходном списке будут видны в обратном
представлении и наоборот.
Синтаксис
fun <T> List<T>.asReversed(): List<T>
Пример
Получим обратное представление списка чисел:
val numbers = listOf(1, 2, 3, 4, 5)
val reversed = numbers.asReversed()
println(reversed)
Результат выполнения кода:
List [5, 4, 3, 2, 1]
Пример
Получим обратное представление списка символов:
val chars = listOf('a', 'b', 'c', 'd', 'e')
val reversedChars = chars.asReversed()
println(reversedChars)
Результат выполнения кода:
List ['e', 'd', 'c', 'b', 'a']
Пример
Покажем, что изменения в исходном списке отражаются в обратном представлении:
val mutableNumbers = mutableListOf(1, 2, 3, 4, 5)
val reversedView = mutableNumbers.asReversed()
println("Original: $mutableNumbers")
println("Reversed: $reversedView")
mutableNumbers.add(6)
println("After adding 6:")
println("Original: $mutableNumbers")
println("Reversed: $reversedView")
Результат выполнения кода:
Original: [1, 2, 3, 4, 5]
Reversed: [5, 4, 3, 2, 1]
After adding 6:
Original: [1, 2, 3, 4, 5, 6]
Reversed: [6, 5, 4, 3, 2, 1]
Пример
Покажем, что изменения в обратном представлении отражаются в исходном списке:
val mutableChars = mutableListOf('a', 'b', 'c', 'd', 'e')
val reversedCharsView = mutableChars.asReversed()
println("Original: $mutableChars")
println("Reversed: $reversedCharsView")
reversedCharsView.add('f')
println("After adding 'f' to reversed view:")
println("Original: $mutableChars")
println("Reversed: $reversedCharsView")
Результат выполнения кода:
Original: ['a', 'b', 'c', 'd', 'e']
Reversed: ['e', 'd', 'c', 'b', 'a']
After adding 'f' to reversed view:
Original: ['a', 'b', 'c', 'd', 'e', 'f']
Reversed: ['f', 'e', 'd', 'c', 'b', 'a']
Смотрите также
-
функцию
reversed,
которая создает новый список в обратном порядке -
функцию
toList,
которая создает новый список из коллекции -
функцию
toMutableList,
которая создает изменяемый список из коллекции -
функцию
asList,
которая возвращает представление массива как списка