Menu
Coddy logo textTech

Propriedades de Lista: first & last

Parte da seção Lógica & Fluxo do Journey de Dart da Coddy — lição 1 de 65.

Ao trabalhar com listas, você frequentemente precisa acessar o primeiro ou o último elemento. Em vez de usar números de índice como [0] ou [list.length - 1], o Dart fornece duas propriedades convenientes que tornam isso muito mais simples.

A propriedade .first fornece o primeiro elemento em uma lista, enquanto a propriedade .last fornece o último elemento. Essas propriedades são mais legíveis e menos propensas a erros do que calcular posições de índice.

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

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

Essas propriedades funcionam com qualquer lista não vazia e lidam automaticamente com os cálculos de índice para você. Isso torna seu código mais limpo e fácil de entender quando você precisa trabalhar com os elementos no início ou no fim de suas listas.

challenge icon

Desafio

Fácil

Crie um programa que analise uma playlist de música acessando a primeira e a última música. Seu programa deve:

  1. Ler uma entrada de string representando o nome da playlist
  2. Ler múltiplas entradas de string representando os títulos das músicas (a entrada terminará quando você receber uma string vazia)
  3. Usar a propriedade .first para obter a primeira música na playlist
  4. Usar a propriedade .last para obter a última música na playlist
  5. Imprimir a análise da playlist no formato exato mostrado abaixo

Por exemplo, se o nome da playlist for "My Favorites" e as músicas forem "Bohemian Rhapsody", "Imagine", "Hotel California", seu programa deve exibir:

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

Seu programa deve lidar com playlists com qualquer número de músicas e usar as propriedades .first e .last para acessar as faixas de abertura e encerramento.

Folha de consulta

Use as propriedades .first e .last para acessar o primeiro e o último elementos de uma lista:

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

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

Essas propriedades são mais legíveis do que usar números de índice como [0] ou [list.length - 1] e funcionam com qualquer lista não vazia.

Experimente você mesmo

import 'dart:io';

void main() {
  // Ler o nome da playlist
  String? playlistName = stdin.readLineSync();
  
  // Ler músicas até encontrar uma string vazia
  List<String> songs = [];
  String? song;
  while ((song = stdin.readLineSync()) != null && song!.isNotEmpty) {
    songs.add(song);
  }
  
  // TODO: Escreva seu código abaixo
  // Use songs.first e songs.last para obter as faixas de abertura e encerramento
  
  // Exibir a análise da playlist
  print("Playlist: $playlistName");
  print("Total songs: ${songs.length}");
  // Imprimir as faixas de abertura e encerramento aqui
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica & Fluxo