Mobile App Development · Dart/Flutter

07 · Array/Listas

Como criar, acessar e manipular coleções em Dart — List, Map e Set — e como filtrar e transformar seus elementos.

1Objetivo da aula

Nesta aula você vai aprender a declarar listas tipadas em Dart, acessar e alterar elementos por índice, usar listas de tamanho fixo com List.filled e conhecer as outras coleções da linguagem — Map para pares chave-valor e Set para valores únicos — além dos métodos where (filtrar) e map (transformar).

2O que vamos aprender

List<T>

Coleção ordenada e tipada que permite repetição. É o tipo usado para representar arrays em Dart.

lista[0]

Acessa (ou altera) um elemento pelo índice, que sempre começa em 0.

add · insert · remove

Adiciona um elemento ao final, insere em uma posição específica ou remove um elemento pelo valor.

List.filled(n, valor)

Cria uma lista de tamanho fixo com n posições, todas iniciadas com valor. As posições podem ser alteradas, mas o tamanho não muda.

Map<K, V>

Coleção de pares chave-valor. Acessa-se um valor pela chave: mapa['chave'].

Set<T>

Coleção que não permite elementos duplicados — ao adicionar um valor repetido, ele é ignorado.

where

Filtra os elementos de uma coleção com base em uma condição, retornando apenas os que satisfazem o teste.

map

Transforma cada elemento de uma coleção, retornando um novo Iterable com os valores transformados.

3Exemplo comentado

void main() {
  // Lista contendo Strings.
  List<String> frutas = [
    'maçã',
    'pera',
    'banana',
  ];

  // Lista contendo números inteiros.
  List<int> numeros = [
    1,
    2,
    3,
    4,
    5,
  ];

  // Criando uma lista vazia de profissões.
  List<String> profissao = [];

  // O método add() adiciona um novo elemento na lista.
  profissao.add('programador');
  profissao.add('médico');

  // Criando uma lista com tamanho fixo de 3 posições.
  // Cada posição inicialmente recebe uma String vazia.
  List<String> comidas = List.filled(3, "");

  // Alterando cada posição da lista.
  comidas[0] = "arroz";
  comidas[1] = "feijão";
  comidas[2] = "macarrão";

  // Exibindo as listas no console.
  print("Lista de frutas: $frutas");
  print("Lista de números: $numeros");
  print("Lista de profissões: $profissao");
  print("Lista fixa de comidas: $comidas");
}

4Saída esperada

Lista de frutas: [maçã, pera, banana]
Lista de números: [1, 2, 3, 4, 5]
Lista de profissões: [programador, médico]
Lista fixa de comidas: [arroz, feijão, macarrão]

5Do conteúdo para a prática

6Prática sugerida