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); // truelength: Geeft de lengte van de set.
Set<int> numbers = {1, 2, 3};
int len = numbers.length; // 3isEmpty en isNotEmpty: Controleert of de set leeg is of niet.
Set<int> numbers = {};
bool empty = numbers.isEmpty; // trueunion(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}