Menu
Coddy logo textTech

Propiedades de listas: first y last

Parte de la sección Lógica y Flujo del Journey de Dart de Coddy — lección 1 de 65.

Al trabajar con listas, a menudo necesitas acceder al primer o último elemento. En lugar de usar números de índice como [0] o [list.length - 1], Dart proporciona dos propiedades convenientes que hacen esto mucho más sencillo.

La propiedad .first te da el primer elemento de una lista, mientras que la propiedad .last te da el último elemento. Estas propiedades son más legibles y menos propensas a errores que calcular las posiciones de los índices.

List<String> planets = ['Mercury', 'Venus', 'Earth', 'Mars'];

String firstPlanet = planets.first;   // 'Mercury'
String lastPlanet = planets.last;     // 'Mars'

Estas propiedades funcionan con cualquier lista que no esté vacía y gestionan automáticamente los cálculos de índices por ti. Esto hace que tu código sea más limpio y fácil de entender cuando necesitas trabajar con los elementos al principio o al final de tus listas.

challenge icon

Desafío

Fácil

Crea un programa que analice una lista de reproducción de música accediendo a la primera y última canción. Tu programa debe:

  1. Leer una entrada de cadena que represente el nombre de la lista de reproducción (playlist name)
  2. Leer múltiples entradas de cadena que representen títulos de canciones (la entrada terminará cuando recibas una cadena vacía)
  3. Usar la propiedad .first para obtener la primera canción de la lista
  4. Usar la propiedad .last para obtener la última canción de la lista
  5. Imprimir el análisis de la lista de reproducción en el formato exacto que se muestra a continuación

Por ejemplo, si el nombre de la lista es "My Favorites" y las canciones son "Bohemian Rhapsody", "Imagine", "Hotel California", tu programa debería mostrar:

Playlist: My Favorites
Total songs: 3
Opening track: Bohemian Rhapsody
Closing track: Hotel California

Tu programa debe manejar listas de reproducción con cualquier número de canciones y usar las propiedades .first y .last para acceder a las pistas de apertura y cierre.

Hoja de referencia

Utiliza las propiedades .first y .last para acceder al primer y último elemento de una lista:

List<String> planets = ['Mercury', 'Venus', 'Earth', 'Mars'];

String firstPlanet = planets.first;   // 'Mercury'
String lastPlanet = planets.last;     // 'Mars'

Estas propiedades son más legibles que usar números de índice como [0] o [list.length - 1] y funcionan con cualquier lista que no esté vacía.

Pruébalo tú mismo

import 'dart:io';

void main() {
  // Leer el nombre de la lista de reproducción
  String? playlistName = stdin.readLineSync();
  
  // Leer canciones hasta encontrar una cadena vacía
  List<String> songs = [];
  String? song;
  while ((song = stdin.readLineSync()) != null && song!.isNotEmpty) {
    songs.add(song);
  }
  
  // TODO: Escribe tu código a continuación
  // Usa songs.first y songs.last para obtener la pista de apertura y de cierre
  
  // Mostrar el análisis de la lista de reproducción
  print("Playlist: $playlistName");
  print("Total songs: ${songs.length}");
  // Imprimir las pistas de apertura y cierre aquí
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo