Map.addAll în Dart

addAll copiază toate perechile din alt map; addEntries adaugă perechi MapEntry dintr-un Iterable.

Sintaxă
void addAll(Map<K, V> other)
void addEntries(Iterable<MapEntry<K, V>> newEntries)

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 addAll să 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.