Kotlin List reverse

Есть вопрос по Котлин. Не могу разобраться. Есть строка с делиметром \n Задача - простая, как 5 копеек - сделать реверс частей строки.

Я строку через .split("\n") загнал в List

val s = "abcd\nefgh\nijkl\nmnop"
var listStrings: List<String> = s.split("\\n")

Делаю reversed() и никаких изменений.

println("$listStrings")
listStrings.reversed()
println("$listStrings")

Не сдаюсь, использую брутфорс)) .asReversed(), Collections.reverse(listStrings) -> ни в какую. Никаких изменений. Даже если переделать в Mutable List

Хорошо. Попробуем поэкспериментировать.

var listStrings2: List<String> = listOf("Hello", "World")
println("$listStrings2") //[Hello, World]
Collections.reverse(listStrings2)
println("$listStrings2") //[World, Hello]

Все работает. Кто может объяснить, в чем разница между этими двумя листами ? Задача простая до безобразия, какой-то ступор (

Заранее прошу прощения за тупой вопрос. Прошу не минусовать. Помогите разобраться !


Ответы (1 шт):

Автор решения: IR42

Во-первых split("\n")

Во-вторых reversed и все методы -ed возвращают новый лист

val reversedList = listStrings.reversed()
→ Ссылка