Ce face Set.union
a.union(b) dă toate elementele din a sau din b. a.intersection(b) dă elementele aflate în ambele. a.difference(b) dă elementele din a care nu sunt în b.
Toate trei returnează un set nou; cele două seturi inițiale nu se schimbă. Ordinea urmează ordinea din a (iar la union, apoi elementele noi din b).
Parametri
| Parametru | Descriere |
|---|---|
other |
Al doilea set. |
Ce returnează
Un Set<E> nou.
Exemple
Exemplul 1: Cursuri opționale
void main() {
final ana = {'robotică', 'șah', 'teatru'};
final mihai = {'șah', 'fotbal', 'robotică'};
print('Toate cursurile: ${ana.union(mihai)}');
print('Împreună la: ${ana.intersection(mihai)}');
print('Doar Ana: ${ana.difference(mihai)}');
print('Doar Mihai: ${mihai.difference(ana)}');
}
Rezultat
Toate cursurile: {robotică, șah, teatru, fotbal}
Împreună la: {robotică, șah}
Doar Ana: {teatru}
Doar Mihai: {fotbal}
Exemplul 2: Ce s-a schimbat între două liste
void main() {
final ieri = {'mere', 'pâine', 'lapte'};
final azi = {'pâine', 'lapte', 'ouă', 'cafea'};
print('Adăugate: ${azi.difference(ieri)}');
print('Scoase: ${ieri.difference(azi)}');
print('Neschimbate: ${ieri.intersection(azi)}');
}
Rezultat
Adăugate: {ouă, cafea}
Scoase: {mere}
Neschimbate: {pâine, lapte}
Greșeli frecvente
- Aștepți ca
a.union(b)să modificea. Returnează un set nou; dacă vrei să modifici pe loc, foloseștea.addAll(b). - Chemi
unioncu o listă. Parametrul trebuie să fie unSet; scriea.union(lista.toSet()).
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.Set.contains: contains verifică rapid dacă un element este în set; containsAll verifică dacă sunt toate elementele unei colecții.