Функция asReversed

Функция asReversed возвращает представление списка в обратном порядке. При этом новый список не создается - возвращается только обратное представление исходного списка. Любые изменения в исходном списке будут видны в обратном представлении и наоборот.

Синтаксис

kotlinfun <T> List<T>.asReversed(): List<T>

Пример

Получим обратное представление списка чисел:

kotlinval numbers = listOf(1, 2, 3, 4, 5)
val reversed = numbers.asReversed()
println(reversed)

Результат выполнения кода:

kotlinList [5, 4, 3, 2, 1]

Пример

Получим обратное представление списка символов:

kotlinval chars = listOf('a', 'b', 'c', 'd', 'e')
val reversedChars = chars.asReversed()
println(reversedChars)

Результат выполнения кода:

kotlinList ['e', 'd', 'c', 'b', 'a']

Пример

Покажем, что изменения в исходном списке отражаются в обратном представлении:

kotlinval 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")

Результат выполнения кода:

kotlinOriginal: [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]

Пример

Покажем, что изменения в обратном представлении отражаются в исходном списке:

kotlinval 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")

Результат выполнения кода:

kotlinOriginal: ['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,
    которая возвращает представление массива как списка