Ce face Set.remove
remove(valoare) șterge elementul din set. Rezultatul este true dacă elementul a fost găsit și șters, false dacă nu era în set.
Pentru a șterge mai multe elemente deodată folosește removeAll, retainAll sau removeWhere.
Parametri
| Parametru | Descriere |
|---|---|
value |
Elementul de șters. |
Ce returnează
true dacă elementul a fost șters, altfel false.
Exemple
Exemplul 1: Ieșirea din chat
void main() {
final conectati = {'Ana', 'Mihai', 'Ioana'};
for (final nume in ['Mihai', 'Elena']) {
if (conectati.remove(nume)) {
print('$nume a ieșit');
} else {
print('$nume nu era conectat');
}
}
print('Rămân: $conectati');
}
Rezultat
Mihai a ieșit
Elena nu era conectat
Rămân: {Ana, Ioana}
Exemplul 2: Bifarea sarcinilor
void main() {
final deFacut = {'teme', 'cumpărături', 'sală'};
deFacut.remove('teme');
deFacut.remove('teme');
print('Mai sunt ${deFacut.length}: ${deFacut.join(', ')}');
deFacut.removeWhere((s) => s.startsWith('s'));
print(deFacut);
}
Rezultat
Mai sunt 2: cumpărături, sală
{cumpărături}
Greșeli frecvente
- Ștergi elemente din set în timpul unei bucle
for-inpe același set. ApareConcurrentModificationError; foloseșteremoveWheresau parcurge o copie.
Comenzi înrudite
Set.removeAll: removeAll șterge din set toate elementele date; retainAll păstrează doar elementele care apar în colecția dată.Set.add: add pune un element în set și spune dacă a fost nou; addAll adaugă toate elementele unei colecții.Map.remove: remove scoate o cheie din map și returnează valoarea ei (sau null); clear golește tot map-ul.List.remove: Șterge un element după valoare (remove), după poziție (removeAt) sau ultimul element (removeLast).