Ce face Set.removeAll
removeAll(colectie) scoate din set fiecare element care apare în colecție. Elementele care nu sunt în set sunt ignorate.
retainAll(colectie) face invers: păstrează doar elementele care apar și în colecție, restul le șterge. Ambele modifică set-ul pe loc; variantele care dau un set nou sunt difference și intersection.
Parametri
| Parametru | Descriere |
|---|---|
elements |
Elementele de șters, respectiv de păstrat. |
Ce returnează
Nimic (void).
Exemple
Exemplul 1: Elevi care nu au predat tema
void main() {
final clasa = {'Ana', 'Mihai', 'Ioana', 'Radu', 'Elena'};
final auPredat = ['Ana', 'Radu', 'Elena', 'Vlad'];
final restanti = Set.of(clasa)..removeAll(auPredat);
print('Restanți: $restanti');
}
Rezultat
Restanți: {Mihai, Ioana}
Exemplul 2: Doar produsele aflate în stoc
void main() {
final cos = {'mere', 'banane', 'kiwi', 'pere'};
final inStoc = ['pere', 'mere', 'prune'];
cos.retainAll(inStoc);
print('Se pot livra: $cos');
}
Rezultat
Se pot livra: {mere, pere}
Greșeli frecvente
- Te aștepți ca
removeAllsă returneze set-ul rezultat. Returneazăvoid; dacă vrei un set nou, foloseștea.difference(b).
Comenzi înrudite
Set.remove: Scoate un element din set și returnează true dacă elementul exista.Set.union: Operațiile cu mulțimi: reuniunea, intersecția și diferența a două seturi, fiecare ca set nou.List.removeWhere: removeWhere șterge toate elementele care trec testul; retainWhere le păstrează doar pe ele.