Ce face Map.addAll
addAll(alt) pune în map toate perechile din alt. Cheile care existau deja primesc valoarea din alt, iar cheile noi se adaugă la sfârșit.
addEntries face același lucru pentru o succesiune de obiecte MapEntry, de exemplu rezultatul lui entries.where(...) dintr-un alt map.
Pentru un map nou, fără să-l modifici pe primul, poți folosi operatorul spread: {...a, ...b}.
Parametri
| Parametru | Descriere |
|---|---|
other |
Map-ul din care se copiază perechile. |
newEntries |
Perechile MapEntry de adăugat. |
Ce returnează
Nimic (void); map-ul se modifică direct.
Exemple
Exemplul 1: Setări implicite peste care vin setările utilizatorului
void main() {
final setari = {'limba': 'ro', 'tema': 'luminoasă', 'font': 14};
final aleUtilizatorului = {'tema': 'întunecată', 'notificari': true};
setari.addAll(aleUtilizatorului);
print(setari);
final combinat = {...setari, 'font': 16};
print(combinat);
}
Rezultat
{limba: ro, tema: întunecată, font: 14, notificari: true}
{limba: ro, tema: întunecată, font: 16, notificari: true}
Exemplul 2: addEntries cu perechi filtrate
void main() {
final note = {'Ana': 10, 'Mihai': 6, 'Ioana': 9, 'Radu': 5};
final premiati = <String, int>{};
premiati.addEntries(note.entries.where((e) => e.value >= 9));
premiati.addEntries([const MapEntry('Elena', 10)]);
print(premiati);
}
Rezultat
{Ana: 10, Ioana: 9, Elena: 10}
Greșeli frecvente
- Te aștepți ca
addAllsă păstreze valoarea veche la o cheie comună. Câștigă mereu valoarea din map-ul adăugat.
Comenzi înrudite
Map.fromEntries: Construiește un map dintr-o succesiune de perechi MapEntry, de exemplu entries filtrate sau sortate.MapEntry: O pereche cheie–valoare: ce primești din map.entries și ce returnezi din Map.map.Map.operator[]: map[cheie] citește valoarea unei chei (sau null), iar map[cheie] = valoare adaugă sau înlocuiește o pereche.List.add: add adaugă un element la sfârșitul listei; addAll adaugă toate elementele unei alte colecții.