Set.add în Dart

Set: mulțimi Dart 2.0

add pune un element în set și spune dacă a fost nou; addAll adaugă toate elementele unei colecții.

Sintaxă
bool add(E value)
void addAll(Iterable<E> elements)

Ce face Set.add

add(valoare) returnează true dacă elementul nu exista și a fost adăugat, sau false dacă era deja în set. Astfel afli dintr-un singur apel dacă ai mai văzut o valoare.

addAll(colectie) adaugă toate elementele, ignorând duplicatele, și nu returnează nimic.

Parametri

Parametru Descriere
value Elementul de adăugat.
elements Elementele de adăugat (orice Iterable).

Ce returnează

add returnează bool; addAll nu returnează nimic.

Exemple

Exemplul 1: Primul duplicat dintr-o listă

void main() {
  final coduri = ['RO12', 'RO34', 'RO56', 'RO34', 'RO78'];
  final vazute = <String>{};
  for (final c in coduri) {
    if (!vazute.add(c)) {
      print('Duplicat găsit: $c');
      break;
    }
  }
  print(vazute);
}

Rezultat

Duplicat găsit: RO34
{RO12, RO34, RO56}

Exemplul 2: addAll din mai multe surse

void main() {
  final limbaje = {'Dart', 'Go'};
  limbaje.addAll(['Go', 'Rust', 'Dart', 'Kotlin']);
  print(limbaje);
  print('add returnează: ${limbaje.add('Java')}, apoi ${limbaje.add('Java')}');
}

Rezultat

{Dart, Go, Rust, Kotlin}
add returnează: true, apoi false

Greșeli frecvente

  • Verifici întâi contains și apoi chemi add. Nu e nevoie: add returnează deja dacă elementul a fost nou.

Comenzi înrudite

  • Set: Colecție fără elemente duplicate: fiecare valoare apare o singură dată, iar căutarea este rapidă.
  • Set.remove: Scoate un element din set și returnează true dacă elementul exista.
  • Set.contains: contains verifică rapid dacă un element este în set; containsAll verifică dacă sunt toate elementele unei colecții.
  • List.add: add adaugă un element la sfârșitul listei; addAll adaugă toate elementele unei alte colecții.