Junior
Wat is het verschil tussen List en Set in Dart?
sobes.tech AI
Antwoord van AI
Belangrijkste verschillen:
- Inhoud: List kan duplicaten bevatten, Set slaat alleen unieke elementen op.
- Volgorde: List behoudt de volgorde van toevoegen, Set garandeert geen volgorde.
- Prestaties:
- Toevoegen/verwijderen: Gemiddeld is de operatie om een element toe te voegen/verwijderen in Set sneller (O(1)) dankzij hashing. Voor List kunnen deze operaties langzamer zijn (tot O(n)) afhankelijk van de positie.
- Zoeken: In Set is het zoeken naar een element op waarde sneller (O(1) gemiddeld) dankzij hashing. In List vereist zoeken een lineaire scan (O(n)). Toegang tot een element via index in List is snel (O(1)).
Voorbeelden:
// List - staat duplicaten toe, behoudt volgorde
List<int> numbersList = [1, 2, 2, 3, 1];
print(numbersList); // Output: [1, 2, 2, 3, 1]
print(numbersList[0]); // Output: 1 (toegang via index)
// Set - alleen unieke elementen, volgorde niet gegarandeerd
Set<int> numbersSet = {1, 2, 2, 3, 1};
print(numbersSet); // Output: {1, 2, 3} (volgorde kan variëren)
// print(numbersSet[0]); // Fout: Set ondersteunt geen toegang via index
print(numbersSet.contains(2)); // Output: true (snelle zoekactie)