Kotlin Academy · Lezione

mutableListOf, mutableMapOf: builder mutabili

Crei collezioni mutabili e le modifichi in sicurezza.

Lezione 2 di 413 passaggi

mutableListOf, mutableMapOf: builder mutabili è una lezione Kotlin Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Kotlin Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Kotlin Academy include 4 lezioni in totale.

Quando servono modifiche

Le collezioni mutabili consentono di aggiungere, rimuovere e aggiornare elementi. Le utilizzi quando la collezione cresce o cambia nel tempo.

mutableListOf

mutableListOf crea una MutableList supportata da ArrayList. È possibile aggiungere, rimuovere e sostituire elementi.
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 crea una MutableSet. add restituisce false se l'elemento esiste già.
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 crea una MutableMap. Utilizzi put o [] per inserire e aggiornare gli elementi.
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

Operazioni in blocco per le collezioni mutabili.
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 rimuove tutti gli elementi. replaceAll trasforma ogni elemento sul posto.
val list = mutableListOf(1, 2, 3, 4)
list.replaceAll { it * 2 }
println(list)  // [2, 4, 6, 8]
list.clear()
println(list)  // []

Creazione di una List con buildList

buildList crea una lista di sola lettura tramite un builder mutabile: una soluzione chiara e concisa.
val squares = buildList {
    for (i in 1..5) add(i * i)
}
println(squares)  // [1, 4, 9, 16, 25]

buildMap e buildSet

Analogamente, buildMap e buildSet consentono di creare mappe e set utilizzando operazioni mutabili, restituendo risultati di sola lettura.
val map = buildMap {
    put("en", "English")
    put("de", "German")
    put("tr", "Turkish")
}
println(map["tr"])  // Turkish

ArrayList, LinkedList: tipi espliciti

Se servono caratteristiche prestazionali specifiche, utilizzi direttamente ArrayList o ArrayDeque.
val arrayList = ArrayList<String>()
arrayList.add("x")
val deque = ArrayDeque<Int>()
deque.addFirst(1)
deque.addLast(2)

getOrPut per accumulare valori in una Map

getOrPut restituisce un valore esistente oppure inserisce un valore predefinito e lo restituisce: è ideale per il raggruppamento.
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)

Ordinamento di liste mutabili

sort e sortWith ordinano le liste mutabili sul posto.
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 rapida

Quale funzione crea una List di sola lettura utilizzando un builder mutabile all'interno di una lambda?

Riepilogo

mutableListOf/SetOf/MapOf per le collezioni mutabili. add, remove, put, clear e replaceAll per le modifiche. buildList/Map/Set per ottenere risultati puliti e immutabili a partire da una costruzione mutabile. Avanti: accesso sicuro agli elementi!
Gratis per iniziare

Impara Kotlin con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
51
Lezioni
203

Domande Frequenti

La lezione «mutableListOf, mutableMapOf: builder mutabili» è gratuita?

Sì — il testo completo di «mutableListOf, mutableMapOf: builder mutabili» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Kotlin Academy, passa a CoddyKit PRO. Il corso Kotlin Academy include 4 lezioni in totale.

Cosa imparerò in «mutableListOf, mutableMapOf: builder mutabili»?

Crei collezioni mutabili e le modifichi in sicurezza. Eserciti Kotlin Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Kotlin Academy?

Non è richiesta alcuna esperienza precedente. Kotlin Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «mutableListOf, mutableMapOf: builder mutabili»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Kotlin Academy?

Sì. Ogni lezione Kotlin Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. listOf, setOf, mapOf: collezioni in sola lettura
  2. mutableListOf, mutableMapOf: builder mutabili
  3. Accedere agli elementi: get, first, last, getOrNull
  4. Iterare e trasformare le collezioni con la libreria standard
← Torna a Kotlin Academy