Mobile App Development · Dart/Flutter
Como criar, acessar e manipular coleções em Dart — List, Map e Set — e como filtrar e transformar seus elementos.
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).
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.
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");
}
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]
List<int> e some seus valores percorrendo-a com for-in.where.Map<String, dynamic> para representar um usuário com nome, idade e status.Set<String> a partir de uma lista com valores repetidos e observe o resultado.map para transformar uma lista de nomes em maiúsculas.