Introducción

Las listas en Dart son una colección ordenada de elementos. Son similares a los arrays en otros lenguajes de programación y permiten almacenar múltiples valores en una sola variable. Las listas son muy útiles cuando necesitas trabajar con una colección de elementos y realizar operaciones como agregar, eliminar o acceder a elementos específicos.

Conceptos Clave

  • Definición de Listas: Una lista es una colección ordenada de elementos.
  • Tipos de Listas: Listas fijas y listas extensibles.
  • Operaciones Comunes: Acceso, modificación, adición y eliminación de elementos.
  • Métodos de Listas: Métodos integrados para manipular listas.

Definición de Listas

En Dart, puedes definir una lista utilizando la clase List. Aquí hay un ejemplo básico:

void main() {
  // Definición de una lista de enteros
  List<int> numeros = [1, 2, 3, 4, 5];
  
  // Definición de una lista de cadenas
  List<String> frutas = ['Manzana', 'Banana', 'Cereza'];
  
  print(numeros); // [1, 2, 3, 4, 5]
  print(frutas);  // [Manzana, Banana, Cereza]
}

Tipos de Listas

Listas Fijas

Una lista fija tiene un tamaño determinado y no se puede cambiar después de su creación. Puedes crear una lista fija utilizando el constructor List.filled:

void main() {
  // Lista fija de tamaño 5, inicializada con ceros
  List<int> listaFija = List.filled(5, 0);
  
  print(listaFija); // [0, 0, 0, 0, 0]
}

Listas Extensibles

Una lista extensible puede cambiar de tamaño dinámicamente. Puedes agregar o eliminar elementos según sea necesario. La forma más común de crear una lista extensible es utilizando el literal de lista []:

void main() {
  // Lista extensible
  List<int> listaExtensible = [];
  
  // Agregar elementos a la lista
  listaExtensible.add(1);
  listaExtensible.add(2);
  listaExtensible.add(3);
  
  print(listaExtensible); // [1, 2, 3]
}

Operaciones Comunes

Acceso a Elementos

Puedes acceder a los elementos de una lista utilizando el índice del elemento. Los índices en Dart comienzan en 0:

void main() {
  List<String> frutas = ['Manzana', 'Banana', 'Cereza'];
  
  // Acceder al primer elemento
  print(frutas[0]); // Manzana
  
  // Acceder al último elemento
  print(frutas[frutas.length - 1]); // Cereza
}

Modificación de Elementos

Puedes modificar los elementos de una lista asignando un nuevo valor al índice correspondiente:

void main() {
  List<String> frutas = ['Manzana', 'Banana', 'Cereza'];
  
  // Modificar el segundo elemento
  frutas[1] = 'Naranja';
  
  print(frutas); // [Manzana, Naranja, Cereza]
}

Adición de Elementos

Puedes agregar elementos a una lista extensible utilizando los métodos add y addAll:

void main() {
  List<int> numeros = [1, 2, 3];
  
  // Agregar un solo elemento
  numeros.add(4);
  
  // Agregar múltiples elementos
  numeros.addAll([5, 6, 7]);
  
  print(numeros); // [1, 2, 3, 4, 5, 6, 7]
}

Eliminación de Elementos

Puedes eliminar elementos de una lista utilizando los métodos remove, removeAt y removeLast:

void main() {
  List<int> numeros = [1, 2, 3, 4, 5];
  
  // Eliminar un elemento específico
  numeros.remove(3);
  
  // Eliminar un elemento en una posición específica
  numeros.removeAt(1);
  
  // Eliminar el último elemento
  numeros.removeLast();
  
  print(numeros); // [1, 4]
}

Métodos de Listas

Dart proporciona una variedad de métodos integrados para trabajar con listas. Aquí hay algunos de los más comunes:

Método Descripción
add(element) Agrega un elemento al final de la lista.
addAll(iterable) Agrega todos los elementos de un iterable al final de la lista.
remove(element) Elimina la primera aparición de un elemento de la lista.
removeAt(index) Elimina el elemento en la posición especificada.
removeLast() Elimina el último elemento de la lista.
clear() Elimina todos los elementos de la lista.
contains(element) Devuelve true si la lista contiene el elemento especificado.
indexOf(element) Devuelve el índice de la primera aparición del elemento en la lista.
sort() Ordena los elementos de la lista en orden ascendente.
reversed Devuelve un iterable con los elementos en orden inverso.

Ejercicio Práctico

Ejercicio 1: Manipulación de Listas

  1. Crea una lista de números enteros del 1 al 5.
  2. Agrega el número 6 al final de la lista.
  3. Elimina el número 3 de la lista.
  4. Modifica el primer elemento de la lista para que sea 10.
  5. Imprime la lista resultante.

Solución

void main() {
  // Paso 1: Crear una lista de números enteros del 1 al 5
  List<int> numeros = [1, 2, 3, 4, 5];
  
  // Paso 2: Agregar el número 6 al final de la lista
  numeros.add(6);
  
  // Paso 3: Eliminar el número 3 de la lista
  numeros.remove(3);
  
  // Paso 4: Modificar el primer elemento de la lista para que sea 10
  numeros[0] = 10;
  
  // Paso 5: Imprimir la lista resultante
  print(numeros); // [10, 2, 4, 5, 6]
}

Conclusión

En esta sección, hemos aprendido sobre las listas en Dart, incluyendo cómo definirlas, los diferentes tipos de listas, y las operaciones comunes que se pueden realizar con ellas. Las listas son una herramienta fundamental en la programación y son esenciales para manejar colecciones de datos de manera eficiente. En la próxima sección, exploraremos los conjuntos en Dart, otra estructura de datos importante.

© Copyright 2024. Todos los derechos reservados