Skip to main content

set

Wat is een Set in Dart?

Een Set in Dart is een ongeordende collectie van unieke elementen. Het biedt efficiënte methoden voor het controleren of een element aanwezig is, het toevoegen van nieuwe elementen, en het verwijderen van bestaande elementen.

Definiëren van Set variabelen

Je kunt een Set variabele definiëren door het type Set te gebruiken gevolgd door het type van de elementen tussen haakjes (<>) en de elementen tussen accolades ({}).

void main() {
  // Een Set van gehele getallen
  Set<int> getallen = {1, 2, 3, 4, 5};

  // Een lege Set die later gevuld kan worden
  Set<String> legeSet = {};

  print(getallen);  // Output: {1, 2, 3, 4, 5}
  print(legeSet);   // Output: {}
}

Toevoegen van elementen aan een Set

Je kunt elementen toevoegen aan een Set met de add methode of de addAll methode voor meerdere elementen.

void main() {
  Set<int> getallen = {1, 2, 3};

  // Toevoegen van een enkel element
  getallen.add(4);
  print(getallen); // Output: {1, 2, 3, 4}

  // Toevoegen van meerdere elementen
  getallen.addAll([5, 6, 7]);
  print(getallen); // Output: {1, 2, 3, 4, 5, 6, 7}
}

Verwijderen van elementen uit een Set

Je kunt elementen verwijderen met de remove methode of alle elementen verwijderen met de clear methode.

void main() {
  Set<int> getallen = {1, 2, 3, 4, 5};

  // Verwijderen van een enkel element
  getallen.remove(3);
  print(getallen); // Output: {1, 2, 4, 5}

  // Verwijderen van alle elementen
  getallen.clear();
  print(getallen); // Output: {}
}

Set methoden en eigenschappen

Dart biedt verschillende methoden en eigenschappen voor het werken met sets, zoals het controleren of een element bestaat, het verkrijgen van de grootte van de set, en set-operaties zoals unie, intersectie, en verschil.

void main() {
  Set<int> setA = {1, 2, 3, 4};
  Set<int> setB = {3, 4, 5, 6};

  // Controleren of een element bestaat
  bool bevatTwee = setA.contains(2);
  print(bevatTwee); // Output: true

  bool bevatVijf = setA.contains(5);
  print(bevatVijf); // Output: false

  // Grootte van de set
  int grootte = setA.length;
  print(grootte); // Output: 4

  // Unie van twee sets
  Set<int> unie = setA.union(setB);
  print(unie); // Output: {1, 2, 3, 4, 5, 6}

  // Intersectie van twee sets
  Set<int> intersectie = setA.intersection(setB);
  print(intersectie); // Output: {3, 4}

  // Verschil van twee sets
  Set<int> verschil = setA.difference(setB);
  print(verschil); // Output: {1, 2}
}

Itereren over een Set

Je kunt over een set itereren met een for-lus, een forEach-methode, of een for-in-lus.

void main() {
  Set<String> namen = {'Alice', 'Bob', 'Charlie'};

  // Met een for-lus
  for (String naam in namen) {
    print(naam);
  }

  // Met de forEach-methode
  namen.forEach((naam) => print(naam));
}

Een Set in Dart is een ongeordende collectie van unieke elementen. Je kunt elementen toevoegen, verwijderen en bewerken. Sets ondersteunen verschillende methoden en eigenschappen voor manipulatie en iteratie.

Methodes

add(E value): Voegt een element toe aan de set.

Set<int> numbers = {1, 2, 3};
numbers.add(4); // {1, 2, 3, 4}

remove(Object value): Verwijdert een element uit de set.

Set<int> numbers = {1, 2, 3};
numbers.remove(2); // {1, 3}

contains(Object value): Controleert of de set het element bevat.

Set<int> numbers = {1, 2, 3};
bool hasTwo = numbers.contains(2); // true

length: Geeft de lengte van de set.

Set<int> numbers = {1, 2, 3};
int len = numbers.length; // 3

isEmpty en isNotEmpty: Controleert of de set leeg is of niet.

Set<int> numbers = {};
bool empty = numbers.isEmpty; // true

union(Set<E> other): Geeft een nieuwe set die alle elementen van de huidige set en de andere set bevat.

Set<int> set1 = {1, 2, 3};
Set<int> set2 = {3, 4, 5};
Set<int> unionSet = set1.union(set2); // {1, 2, 3, 4, 5}