Set.remove în Dart

Set: mulțimi Dart 2.0

Scoate un element din set și returnează true dacă elementul exista.

Sintaxă
bool remove(Object? value)

Ce face Set.remove

remove(valoare) șterge elementul din set. Rezultatul este true dacă elementul a fost găsit și șters, false dacă nu era în set.

Pentru a șterge mai multe elemente deodată folosește removeAll, retainAll sau removeWhere.

Parametri

Parametru Descriere
value Elementul de șters.

Ce returnează

true dacă elementul a fost șters, altfel false.

Exemple

Exemplul 1: Ieșirea din chat

void main() {
  final conectati = {'Ana', 'Mihai', 'Ioana'};
  for (final nume in ['Mihai', 'Elena']) {
    if (conectati.remove(nume)) {
      print('$nume a ieșit');
    } else {
      print('$nume nu era conectat');
    }
  }
  print('Rămân: $conectati');
}

Rezultat

Mihai a ieșit
Elena nu era conectat
Rămân: {Ana, Ioana}

Exemplul 2: Bifarea sarcinilor

void main() {
  final deFacut = {'teme', 'cumpărături', 'sală'};
  deFacut.remove('teme');
  deFacut.remove('teme');
  print('Mai sunt ${deFacut.length}: ${deFacut.join(', ')}');
  deFacut.removeWhere((s) => s.startsWith('s'));
  print(deFacut);
}

Rezultat

Mai sunt 2: cumpărături, sală
{cumpărături}

Greșeli frecvente

  • Ștergi elemente din set în timpul unei bucle for-in pe același set. Apare ConcurrentModificationError; folosește removeWhere sau parcurge o copie.

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.
  • Map.remove: remove scoate o cheie din map și returnează valoarea ei (sau null); clear golește tot map-ul.
  • List.remove: Șterge un element după valoare (remove), după poziție (removeAt) sau ultimul element (removeLast).