Ce face MutableList.clear
clear() șterge toate elementele. Lista rămâne același obiect, deci toate variabilele care o folosesc o văd goală. Merge pe orice colecție modificabilă: liste, seturi, map-uri.
fill(x) nu schimbă numărul de elemente: pune valoarea x pe fiecare poziție. Este util pentru resetare (de exemplu toate scorurile la 0).
Parametri
| Parametru | Descriere |
|---|---|
valoare |
La fill: valoarea pusă pe fiecare poziție. |
Ce returnează
Nimic; lista se schimbă pe loc.
Exemple
Exemplul 1: Golirea coșului după plată
După clear() coșul are 0 elemente, iar isEmpty() este adevărat.
fun main() {
val cos = mutableListOf("pâine", "lapte", "ouă")
println("Plătim ${cos.size} produse")
cos.clear()
println("Coș: $cos, gol: ${cos.isEmpty()}")
}
Rezultat
Plătim 3 produse
Coș: [], gol: true
Exemplul 2: fill: scorurile resetate la 0
Fiecare jucător își păstrează locul, dar scorul devine 0. Lista are tot 4 elemente.
fun main() {
val scoruri = mutableListOf(12, 7, 30, 18)
scoruri.fill(0)
println(scoruri)
println("Jucători: ${scoruri.size}")
}
Rezultat
[0, 0, 0, 0]
Jucători: 4
Exemplul 3: Aceeași listă, văzută din două locuri
alias arată spre aceeași listă, așa că și ea este goală după clear. Copia făcută cu toList() rămâne neschimbată.
fun main() {
val mesaje = mutableListOf("Salut", "Ce faci?")
val alias = mesaje
val copie = mesaje.toList()
mesaje.clear()
println("alias: $alias")
println("copie: $copie")
}
Rezultat
alias: []
copie: [Salut, Ce faci?]
Greșeli frecvente
- Aștepți ca
fillsă adauge elemente într-o listă goală: lista goală rămâne goală. Pentru o listă nouă cu n valori foloseșteMutableList(n) { 0 }. - Golești o listă la care țin referință și alte părți ale programului: și ele o văd goală. Dacă vrei să păstrezi datele, fă întâi o copie.
Comenzi înrudite
MutableCollection.removeAll: Șterge pe loc toate elementele care îndeplinesc o condiție (removeAll, removeIf) sau păstrează doar pe cele care o îndeplinesc (retainAll).Collection.isEmpty: isEmpty/isNotEmpty verifică dacă o colecție are elemente; orEmpty transformă null în colecție goală; ifEmpty dă o alternativă.List.subList: Întoarce o vedere asupra unei porțiuni din listă, de la poziția deLa inclusiv până la panaLa exclusiv.MutableList.add: Adaugă un element la finalul listei sau la o poziție dată; addAll adaugă mai multe elemente deodată.