Els conjunts (sets) són una col·lecció no ordenada d'elements únics. A diferència de les llistes, els conjunts no permeten elements duplicats i no mantenen cap ordre específic dels elements. Els conjunts són útils quan necessitem garantir que no hi hagi duplicats en una col·lecció de dades.
Conceptes Clau
- Conjunt: Una col·lecció no ordenada d'elements únics.
- Element únic: Cada element en un conjunt és únic; no hi pot haver duplicats.
- No ordenat: Els elements en un conjunt no tenen un ordre específic.
Creació de Conjunts
Conjunt Buit
Conjunt amb Elements
Conjunt des d'una Llista
void main() { List<int> myList = [1, 2, 2, 3, 4, 4, 5]; Set<int> mySet = Set.from(myList); print(mySet); // Output: {1, 2, 3, 4, 5} }
Operacions amb Conjunts
Afegir Elements
Eliminar Elements
Verificar Existència d'un Element
void main() { Set<int> mySet = {1, 2, 3, 4}; print(mySet.contains(3)); // Output: true print(mySet.contains(5)); // Output: false }
Unió de Conjunts
void main() { Set<int> setA = {1, 2, 3}; Set<int> setB = {3, 4, 5}; Set<int> unionSet = setA.union(setB); print(unionSet); // Output: {1, 2, 3, 4, 5} }
Intersecció de Conjunts
void main() { Set<int> setA = {1, 2, 3}; Set<int> setB = {3, 4, 5}; Set<int> intersectionSet = setA.intersection(setB); print(intersectionSet); // Output: {3} }
Diferència de Conjunts
void main() { Set<int> setA = {1, 2, 3}; Set<int> setB = {3, 4, 5}; Set<int> differenceSet = setA.difference(setB); print(differenceSet); // Output: {1, 2} }
Exercicis Pràctics
Exercici 1: Crear un Conjunt i Afegir Elements
Descripció: Crea un conjunt buit i afegeix-hi els números del 1 al 5. Després, imprimeix el conjunt.
Solució:
void main() { Set<int> mySet = {}; for (int i = 1; i <= 5; i++) { mySet.add(i); } print(mySet); // Output: {1, 2, 3, 4, 5} }
Exercici 2: Eliminar Elements d'un Conjunt
Descripció: Crea un conjunt amb els números del 1 al 5. Elimina el número 3 i imprimeix el conjunt resultant.
Solució:
void main() { Set<int> mySet = {1, 2, 3, 4, 5}; mySet.remove(3); print(mySet); // Output: {1, 2, 4, 5} }
Exercici 3: Unió i Intersecció de Conjunts
Descripció: Crea dos conjunts, setA
amb els números del 1 al 3 i setB
amb els números del 3 al 5. Calcula la unió i la intersecció dels dos conjunts i imprimeix els resultats.
Solució:
void main() { Set<int> setA = {1, 2, 3}; Set<int> setB = {3, 4, 5}; Set<int> unionSet = setA.union(setB); Set<int> intersectionSet = setA.intersection(setB); print('Unió: $unionSet'); // Output: Unió: {1, 2, 3, 4, 5} print('Intersecció: $intersectionSet'); // Output: Intersecció: {3} }
Errors Comuns i Consells
- Duplicats: Recorda que els conjunts no permeten elements duplicats. Si intentes afegir un element que ja existeix, no es produirà cap error, però l'element no es duplicarà.
- Ordre: No confiïs en l'ordre dels elements en un conjunt. Si necessites mantenir un ordre específic, considera utilitzar una llista en lloc d'un conjunt.
Conclusió
Els conjunts són una eina poderosa per gestionar col·leccions d'elements únics en Dart. Són especialment útils quan necessitem garantir que no hi hagi duplicats i quan les operacions d'unió, intersecció i diferència són necessàries. Amb els conceptes i exemples proporcionats, hauríeu de tenir una bona comprensió de com utilitzar els conjunts en els vostres projectes de Dart.
Curs de Programació en Dart
Mòdul 1: Introducció a Dart
- Introducció a Dart
- Configuració de l'Entorn de Desenvolupament
- El Teu Primer Programa en Dart
- Sintaxi i Estructura Bàsica
Mòdul 2: Conceptes Bàsics de Dart
Mòdul 3: Col·leccions
Mòdul 4: Programació Orientada a Objectes en Dart
Mòdul 5: Funcionalitats Avançades de Dart
Mòdul 6: Gestió d'Errors i Depuració
Mòdul 7: Paquets i Biblioteques de Dart
Mòdul 8: Dart per a Web i Mòbil
- Introducció a Flutter
- Construcció d'una Aplicació Simple amb Flutter
- Dart per al Desenvolupament Web