Introducció

Les llistes són una de les col·leccions més utilitzades en Dart. Una llista és una col·lecció ordenada d'elements, on cada element té una posició (índex) específica. Les llistes en Dart són molt flexibles i poden contenir elements de qualsevol tipus, incloent altres llistes.

Creació de Llistes

Llista Bàsica

Per crear una llista en Dart, podem utilitzar la classe List. Aquí tens un exemple de com crear una llista bàsica:

void main() {
  List<int> numeros = [1, 2, 3, 4, 5];
  print(numeros);
}

Llista Buida

També podem crear una llista buida i afegir elements més tard:

void main() {
  List<String> fruits = [];
  fruits.add('Poma');
  fruits.add('Plàtan');
  print(fruits);
}

Llista amb Capacitat Fixada

Podem crear una llista amb una capacitat fixada utilitzant el constructor List.filled:

void main() {
  List<int> capacitatFixada = List.filled(5, 0);
  print(capacitatFixada);
}

Accés als Elements

Podem accedir als elements d'una llista utilitzant l'índex:

void main() {
  List<String> fruits = ['Poma', 'Plàtan', 'Taronja'];
  print(fruits[0]); // Poma
  print(fruits[1]); // Plàtan
}

Modificació d'Elements

Podem modificar els elements d'una llista assignant un nou valor a un índex específic:

void main() {
  List<String> fruits = ['Poma', 'Plàtan', 'Taronja'];
  fruits[1] = 'Mango';
  print(fruits); // [Poma, Mango, Taronja]
}

Mètodes Comuns de Llistes

Afegir Elements

  • add(element): Afegeix un element al final de la llista.
  • insert(index, element): Insereix un element en una posició específica.
void main() {
  List<String> fruits = ['Poma', 'Plàtan'];
  fruits.add('Taronja');
  fruits.insert(1, 'Mango');
  print(fruits); // [Poma, Mango, Plàtan, Taronja]
}

Eliminar Elements

  • remove(element): Elimina la primera aparició de l'element.
  • removeAt(index): Elimina l'element en la posició especificada.
void main() {
  List<String> fruits = ['Poma', 'Mango', 'Plàtan', 'Taronja'];
  fruits.remove('Mango');
  fruits.removeAt(1);
  print(fruits); // [Poma, Taronja]
}

Altres Mètodes

  • length: Retorna la longitud de la llista.
  • isEmpty: Retorna true si la llista està buida.
  • isNotEmpty: Retorna true si la llista no està buida.
void main() {
  List<String> fruits = ['Poma', 'Taronja'];
  print(fruits.length); // 2
  print(fruits.isEmpty); // false
  print(fruits.isNotEmpty); // true
}

Iteració sobre Llistes

Podem utilitzar un bucle for per iterar sobre els elements d'una llista:

void main() {
  List<String> fruits = ['Poma', 'Plàtan', 'Taronja'];
  for (String fruit in fruits) {
    print(fruit);
  }
}

També podem utilitzar el mètode forEach:

void main() {
  List<String> fruits = ['Poma', 'Plàtan', 'Taronja'];
  fruits.forEach((fruit) => print(fruit));
}

Exercicis Pràctics

Exercici 1

Crea una llista de números enters i afegeix-hi els números del 1 al 10. Després, elimina els números parells i imprimeix la llista resultant.

Solució

void main() {
  List<int> numeros = [];
  for (int i = 1; i <= 10; i++) {
    numeros.add(i);
  }
  numeros.removeWhere((numero) => numero % 2 == 0);
  print(numeros); // [1, 3, 5, 7, 9]
}

Exercici 2

Crea una llista de paraules i ordena-les en ordre alfabètic. Després, imprimeix la llista ordenada.

Solució

void main() {
  List<String> paraules = ['Plàtan', 'Poma', 'Taronja', 'Mango'];
  paraules.sort();
  print(paraules); // [Mango, Plàtan, Poma, Taronja]
}

Conclusió

Les llistes són una eina fonamental en Dart per gestionar col·leccions d'elements. Hem après com crear, modificar, accedir i iterar sobre llistes, així com alguns dels mètodes més comuns per treballar amb elles. Amb aquests coneixements, estàs preparat per utilitzar llistes en els teus projectes de Dart. En el següent tema, explorarem els conjunts, una altra col·lecció important en Dart.

© Copyright 2024. Tots els drets reservats