Menu
Coddy logo textTech

List vs MutableList

Parte da seção Fundamentos do Journey de Kotlin da Coddy. Lição 67 de 93.

Até agora, você trabalhou com variáveis individuais que armazenam valores únicos. Mas e se você precisar armazenar uma coleção de itens, como uma lista de nomes ou uma sequência de números? É aí que entram as listas.

O Kotlin fornece dois tipos de listas: List e MutableList. A principal diferença é se você pode modificar a lista depois de criá-la.

Uma List é somente para leitura. Sua interface não expõe operações para adicionar, remover ou substituir elementos. Isso não é uma garantia de imutabilidade profunda: o mesmo objeto mutável subjacente poderia ser alterado por meio de outra referência:

val fruits = listOf("Apple", "Banana", "Cherry")
val numbers = listOf(1, 2, 3, 4, 5)

Uma MutableList permite modificações. Você pode adicionar novos elementos, remover os existentes ou atualizar valores:

val fruits = mutableListOf("Apple", "Banana")
fruits.add("Cherry")  // Agora contém: Apple, Banana, Cherry

Use listOf() quando seus dados não devem mudar e mutableListOf() quando você precisar de flexibilidade. Essa distinção ajuda a evitar modificações acidentais e torna a intenção do seu código mais clara.

challenge icon

Desafio

Médio

Crie uma lista somente leitura chamada colors contendo três strings: "Red", "Green" e "Blue".

Em seguida, crie uma lista mutável chamada numbers começando com dois números inteiros: 10 e 20.

Adicione o valor 30 à lista numbers.

Por fim, imprima ambas as listas em linhas separadas, nesta ordem:

  1. A lista colors
  2. A lista numbers

Experimente você mesmo

fun main() {
    // TODO: Crie uma lista somente leitura chamada 'colors' com "Red", "Green", "Blue"
    
    // TODO: Crie uma lista mutável chamada 'numbers' com 10 e 20
    
    // TODO: Adicione 30 à lista numbers
    
    // TODO: Imprima ambas as listas em linhas separadas (colors primeiro, depois numbers)
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos

Pratique por conta própria: Playground de Kotlin