0Pricing
Kotlin Academy · Aula

mutableListOf, mutableMapOf: construtores mutáveis

Crie coleções mutáveis e modifique-as com segurança.

mutableListOf, mutableMapOf: construtores mutáveis é uma aula grátis de Kotlin Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Kotlin Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Kotlin Academy inclui 4 aulas no total.

Quando você precisa de mutação

Coleções mutáveis permitem adicionar, remover e atualizar elementos. Use-as quando a coleção crescer ou mudar com o tempo.

mutableListOf

mutableListOf cria uma MutableList baseada em ArrayList. Você pode adicionar, remover e substituir elementos.
val list = mutableListOf("a", "b", "c")
list.add("d")
list.add(0, "z")  // insert at index 0
list.remove("b")
println(list)  // [z, a, c, d]

mutableSetOf

mutableSetOf cria uma MutableSet. add retorna false se o elemento já existir.
val set = mutableSetOf(1, 2, 3)
set.add(4)
set.add(2)  // already exists, no change
set.remove(1)
println(set)  // [2, 3, 4]

mutableMapOf

mutableMapOf cria uma MutableMap. Use uma operação de atribuição ou [] para inserir e atualizar valores.
val map = mutableMapOf("a" to 1, "b" to 2)
map["c"] = 3
map["a"] = 10      // update
map.remove("b")
println(map)  // {a=10, c=3}

addAll, removeAll, retainAll

Operações em massa para coleções mutáveis.
val nums = mutableListOf(1, 2, 3)
nums.addAll(listOf(4, 5, 6))
println(nums)  // [1, 2, 3, 4, 5, 6]
nums.removeAll { it % 2 == 0 }
println(nums)  // [1, 3, 5]

clear e replaceAll

clear remove todos os elementos. replaceAll transforma cada elemento no próprio lugar.
val list = mutableListOf(1, 2, 3, 4)
list.replaceAll { it * 2 }
println(list)  // [2, 4, 6, 8]
list.clear()
println(list)  // []

Construindo uma lista com buildList

buildList cria uma lista somente para leitura por meio de um mecanismo de construção mutável — de forma limpa e concisa.
val squares = buildList {
    for (i in 1..5) add(i * i)
}
println(squares)  // [1, 4, 9, 16, 25]

buildMap e buildSet

Da mesma forma, buildMap e buildSet permitem construir mapas e conjuntos usando operações mutáveis, retornando resultados somente para leitura.
val map = buildMap {
    put("en", "English")
    put("de", "German")
    put("tr", "Turkish")
}
println(map["tr"])  // Turkish

ArrayList, LinkedList: tipos explícitos

Se precisar de características específicas de desempenho, use ArrayList ou ArrayDeque diretamente.
val arrayList = ArrayList<String>()
arrayList.add("x")
val deque = ArrayDeque<Int>()
deque.addFirst(1)
deque.addLast(2)

getOrPut para acumular valores em um mapa

getOrPut retorna um valor existente ou insere um valor padrão e o retorna — excelente para agrupamentos.
val groups = mutableMapOf<String, MutableList<Int>>()
for (i in 1..6) {
    val key = if (i % 2 == 0) "even" else "odd"
    groups.getOrPut(key) { mutableListOf() }.add(i)
}
println(groups)

Ordenando listas mutáveis

sort e sortWith ordenam listas mutáveis diretamente.
val nums = mutableListOf(3, 1, 4, 1, 5, 9)
nums.sort()
println(nums)  // [1, 1, 3, 4, 5, 9]
nums.sortDescending()
println(nums)  // [9, 5, 4, 3, 1, 1]

Verificação rápida

Qual função cria uma List somente para leitura usando internamente um mecanismo de construção mutável dentro de uma expressão lambda?

Recapitulação

mutableListOf/SetOf/MapOf para coleções mutáveis. add, remove, put, clear, replaceAll para mutações. buildList/Map/Set para obter resultados imutáveis e limpos a partir de uma construção mutável. A seguir: acessando elementos com segurança!

Perguntas Frequentes

A aula “mutableListOf, mutableMapOf: construtores mutáveis” é grátis?

Sim — o texto completo de “mutableListOf, mutableMapOf: construtores mutáveis” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Kotlin Academy, atualize para CoddyKit PRO. O curso de Kotlin Academy inclui 4 aulas no total.

O que vou aprender em “mutableListOf, mutableMapOf: construtores mutáveis”?

Crie coleções mutáveis e modifique-as com segurança. Você pratica Kotlin Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Kotlin Academy?

Nenhuma experiência prévia é necessária. Kotlin Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “mutableListOf, mutableMapOf: construtores mutáveis”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Kotlin Academy?

Sim. Cada aula de Kotlin Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. listOf, setOf, mapOf: coleções somente para leitura
  2. mutableListOf, mutableMapOf: construtores mutáveis
  3. Acessando elementos: get, first, last, getOrNull
  4. Iterando e transformando coleções com a biblioteca padrão
← Voltar para Kotlin Academy