Map.remove în Dart

remove scoate o cheie din map și returnează valoarea ei (sau null); clear golește tot map-ul.

Sintaxă
V? remove(Object? key)
void clear()

Ce face Map.remove

remove(cheie) șterge perechea cu acea cheie și returnează valoarea care a fost ștearsă. Dacă cheia nu există, nu se întâmplă nimic și rezultatul este null.

clear() șterge toate perechile; map-ul rămâne același obiect, doar gol.

Parametri

Parametru Descriere
key Cheia de șters.

Ce returnează

remove returnează valoarea ștearsă sau null. clear nu returnează nimic.

Exemple

Exemplul 1: Ștergerea unui contact

void main() {
  final contacte = {'Ana': '0722 111 222', 'Radu': '0744 333 444', 'Ioana': '0755 555 666'};
  final sters = contacte.remove('Radu');
  print('Am șters numărul $sters');
  print('Lipsă: ${contacte.remove('Elena')}');
  print(contacte);

  contacte.clear();
  print('După clear: $contacte, isEmpty = ${contacte.isEmpty}');
}

Rezultat

Am șters numărul 0744 333 444
Lipsă: null
{Ana: 0722 111 222, Ioana: 0755 555 666}
După clear: {}, isEmpty = true

Exemplul 2: Mutarea unei perechi dintr-un map în altul

void main() {
  final deLivrat = {'C101': 'Iași', 'C102': 'Cluj', 'C103': 'Suceava'};
  final livrate = <String, String>{};

  final oras = deLivrat.remove('C102');
  if (oras != null) {
    livrate['C102'] = oras;
  }
  print('De livrat: $deLivrat');
  print('Livrate: $livrate');
}

Rezultat

De livrat: {C101: Iași, C103: Suceava}
Livrate: {C102: Cluj}

Greșeli frecvente

  • Crezi că remove primește o valoare. Primește cheia; pentru ștergere după valoare folosește removeWhere((k, v) => v == x).

Comenzi înrudite

  • Map.removeWhere: Șterge din map toate perechile pentru care funcția de test returnează true.
  • Map.keys: keys, values și entries dau cheile, valorile sau perechile unui map, ca Iterable, în ordinea din map.
  • List.remove: Șterge un element după valoare (remove), după poziție (removeAt) sau ultimul element (removeLast).
  • Set.remove: Scoate un element din set și returnează true dacă elementul exista.