Функция reverse
Функция reverse изменяет порядок элементов
в изменяемой коллекции на противоположный.
Работает только с изменяемыми коллекциями
типа MutableList, Array и другими.
Для неизменяемых коллекций используйте функцию
reversed.
Импорт
import kotlin.collections.reverse
Синтаксис
fun <T> Array<T>.reverse()
fun <T> MutableList<T>.reverse()
fun ByteArray.reverse()
fun ShortArray.reverse()
fun IntArray.reverse()
fun LongArray.reverse()
fun FloatArray.reverse()
fun DoubleArray.reverse()
fun BooleanArray.reverse()
fun CharArray.reverse()
Пример
Перевернем массив чисел типа IntArray:
val numbers = intArrayOf(1, 2, 3, 4, 5)
numbers.reverse()
println(numbers.contentToString())
Результат выполнения кода:
IntArray [5, 4, 3, 2, 1]
Пример
Перевернем изменяемый список строк:
val words = mutableListOf("a", "b", "c", "d", "e")
words.reverse()
println(words)
Результат выполнения кода:
MutableList<String> ['e', 'd', 'c', 'b', 'a']
Пример
Перевернем массив символов:
val chars = charArrayOf('a', 'b', 'c', 'd', 'e')
chars.reverse()
println(chars.contentToString())
Результат выполнения кода:
CharArray ['e', 'd', 'c', 'b', 'a']
Для каких типов коллекций работает
Функция reverse работает со следующими типами:
Array- обычные массивыMutableList- изменяемые спискиIntArray,DoubleArray,FloatArrayи другие примитивные массивыBooleanArray,CharArray- массивы булевых значений и символов
Не работает с:
List- неизменяемые спискиSet- множества (не имеют порядка элементов)Map- словари (не имеют порядка элементов)
Пример
Попытка использовать reverse на неизменяемом списке
вызовет ошибку компиляции:
val immutableList = listOf(1, 2, 3, 4, 5)
immutableList.reverse() // Ошибка: unresolved reference