Ce face List.removeRange
removeRange(start, end) șterge elementele de pe pozițiile start, start + 1, …, end - 1. Poziția end nu este inclusă, ca la sublist. Lista se scurtează cu end - start elemente.
clear() șterge toate elementele, iar lungimea devine 0. Variabila rămâne aceeași listă, deci oricine are o referință la ea vede lista goală.
Parametri
| Parametru | Descriere |
|---|---|
start |
Prima poziție ștearsă. |
end |
Poziția de după ultimul element șters (nu este inclusă). |
Ce returnează
Nimic (void).
Exemple
Exemplul 1: Păstrarea ultimelor mesaje
void main() {
final jurnal = ['m1', 'm2', 'm3', 'm4', 'm5', 'm6'];
const maxim = 3;
if (jurnal.length > maxim) {
jurnal.removeRange(0, jurnal.length - maxim);
}
print(jurnal);
}
Rezultat
[m4, m5, m6]
Exemplul 2: clear golește lista pentru toți
void main() {
final cos = ['mere', 'pâine'];
final acelasiCos = cos;
cos.clear();
print('cos: $cos, acelasiCos: $acelasiCos, lungime: ${cos.length}');
}
Rezultat
cos: [], acelasiCos: [], lungime: 0
Greșeli frecvente
- Crezi că
endeste inclus și ștergi un element mai puțin decât voiai.
Comenzi înrudite
List.remove: Șterge un element după valoare (remove), după poziție (removeAt) sau ultimul element (removeLast).List.sublist: sublist copiază o porțiune a listei într-o listă nouă; getRange dă aceeași porțiune ca iterable leneș.List.removeWhere: removeWhere șterge toate elementele care trec testul; retainWhere le păstrează doar pe ele.