Avatar ·

Como inicializar uma lista (List<T>) em Kotlin? Analisando todas as formas

Olá a todos! Acabei de começar a estudar Kotlin depois de Java e me deparei com um problema: como criar e inicializar uma lista corretamente? Em Java, eu estava acostumado a fazer assim:\n\n```java\nList list = new ArrayList<>();\nlist.add("a");\nlist.add("b");\n```\n\nMas em Kotlin, vejo que existem alguns `listOf(...)`, `mutableListOf(...)`, e também posso usar construtores. Tentei escrever:\n\n```kotlin\nval list: List = listOf("a", "b") // isso funciona\nlist.add("c") // erro de compilação!\n```\n\nPor que não consigo adicionar um elemento? E como faço para ter uma lista mutável? Também ouvi falar sobre `ArrayList()`, mas não entendo como usá-lo corretamente em Kotlin. Por favor, me digam todas as formas possíveis de inicializar listas, para que eu não fique mais confuso. Preciso tanto para listas imutáveis (read-on