Ce face Map.fromEntries
Map.fromEntries primește un Iterable de MapEntry și le pune, în ordine, într-un map nou. Dacă o cheie apare de mai multe ori, rămâne ultima valoare.
Este perechea naturală a lui entries: iei perechile, le filtrezi sau le sortezi ca pe o listă, apoi faci din nou un map.
Parametri
| Parametru | Descriere |
|---|---|
entries |
Perechile din care se construiește map-ul. |
Ce returnează
Un Map nou, care păstrează ordinea perechilor.
Exemple
Exemplul 1: Map sortat după valoare
void main() {
final note = {'Ana': 8, 'Mihai': 10, 'Ioana': 9, 'Radu': 7};
final sortate = note.entries.toList()..sort((a, b) => b.value.compareTo(a.value));
final clasament = Map.fromEntries(sortate);
print(clasament);
}
Rezultat
{Mihai: 10, Ioana: 9, Ana: 8, Radu: 7}
Exemplul 2: Filtrare fără a modifica originalul
void main() {
final temperaturi = {'Iași': 31, 'Cluj': 26, 'Constanța': 33, 'Brașov': 24};
final canicula = Map.fromEntries(temperaturi.entries.where((e) => e.value > 30));
print(canicula);
print(temperaturi.length);
}
Rezultat
{Iași: 31, Constanța: 33}
4
Greșeli frecvente
- Dai o listă de liste sau de records în loc de
MapEntry. Transformă-le întâi:perechi.map((p) => MapEntry(p.$1, p.$2)).
Comenzi înrudite
MapEntry: O pereche cheie–valoare: ce primești din map.entries și ce returnezi din Map.map.Map.keys: keys, values și entries dau cheile, valorile sau perechile unui map, ca Iterable, în ordinea din map.Map.fromIterable: fromIterable face cheile și valorile din aceleași elemente; fromIterables lipește o listă de chei de o listă de valori.Map.addAll: addAll copiază toate perechile din alt map; addEntries adaugă perechi MapEntry dintr-un Iterable.