Fale com a gente no WhatsApp Fale com a gente no WhatsApp
Fale com a gente no WhatsApp

Dart

Manipulando mapas no Dart

Veja neste artigo como manipular mapas no Dart.

há 4 anos 4 meses

Formação Desenvolvedor Dart Flutter
Conheça a formação em detalhes

Os mapas são coleções de dados organizados em um formato chave-valor. Cada elemento inserido em um mapa no Dart possui uma chave a ele relacionado. Os mapas são estruturas muito úteis quando precisamos relacionar cada elemento com um identificador único. Sendo assim, veremos neste artigo os principais métodos para manipulação de mapas no Dart.

Declarando mapas

A declaração de mapas no Dart pode ser feita de duas formas. A primeira é utilizando o construtor da classe Map() , como podemos ver abaixo:

void main() { 
   var usuario = new Map(); 
   usuario['usuario'] = 'admin'; 
   usuario['senha'] = 'admin123'; 
   print(usuario); 
}

O código acima irá criar um mapa e o armazenará na variável usuarioe adicionará as chaves usuario e senha, além de armazenar seus respectivos dados.

A segunda forma de declarar mapas no Dart é utilizando o formato “literal”, adicionando os dados iniciais do mapa entre chaves {}:

void main() { 
   var usuario = {'usuario':'admin','senha':'admin123'}; 
   print(usuario); 
}

Dart - Fundamentos
Curso Dart - Fundamentos
Conhecer o curso

Retornando elementos pelo índice

Como vimos anteriormente, a principal característica dos mapas é o armazenamento no formato chave-valor, onde cada valor estará relacionado a uma chave. Com essa estrutura, há casos em que precisamos obter o valor de uma determinada chave.

Para isso, no Dart, é bem simples. Basta acessarmos a chave do elemento que queremos retornar entre colchetes [], como podemos ver abaixo:

void main() { 
   var usuario = new Map(); 
   usuario['usuario'] = 'admin'; 
   usuario['senha'] = 'admin123'; 
   print(usuario['usuario']); 
}

O código acima irá retornar o valor relacionado à chave usuario.

Adicionando elementos

Há duas formas para adicionarmos novos elementos a um dicionário. A primeira é atrelando um elemento a uma chave, como fizemos nos exemplos anteriores:

void main() { 
   var usuario = new Map(); 
   usuario['usuario'] = 'admin'; 
   usuario['senha'] = 'admin123'; 
   usuario['cargo'] = 'gerente';
   print(usuario); 
}

Adicionando elementos no mapa

Já a segunda forma é utilizando o método addAll(), passando como parâmetro uma estrutura no formato chave-valor como parâmetro:

void main() { 
   var usuario = new Map(); 
   usuario['usuario'] = 'admin'; 
   usuario['senha'] = 'admin123'; 
   usuario['cargo'] = 'gerente';
   var novosDados = {'nome': 'Joao', 'sobrenome': 'Silva'};
   usuario.addAll(novosDados);
   print(usuario); 
}

Adicionando elementos com addAll

Removendo elementos de um mapa

Para remover elementos de um mapa, utilizamos o método remove() e passamos a chave do elemento a ser removido:

void main() { 
   var usuario = new Map(); 
   usuario['usuario'] = 'admin'; 
   usuario['senha'] = 'admin123'; 
   usuario['cargo'] = 'gerente';
   var novosDados = {'nome': 'Joao', 'sobrenome': 'Silva'};
   usuario.addAll(novosDados);
   print(usuario); 
   usuario.remove('usuario');
  print(usuario);
}

Removendo elementos nos mapas

Limpando mapas

Há casos em que precisamos limpar toda a estrutura de um mapa. Para isso, o Dart provê o método clear(), como podemos ver abaixo:

void main() { 
   var usuario = new Map(); 
   usuario['usuario'] = 'admin'; 
   usuario['senha'] = 'admin123'; 
   usuario['cargo'] = 'gerente';
   var novosDados = {'nome': 'Joao', 'sobrenome': 'Silva'};
   usuario.addAll(novosDados);
   print(usuario); 
   usuario.clear();
   print(usuario);
}

Limpando mapas

Autor(a) do artigo

Fagner Pinheiro
Fagner Pinheiro

Professor na TreinaWeb e graduado em Sistemas de Informação pelo Instituto Federal da Bahia. Apaixonado por desenvolvimento web, desktop e mobile desde os 12 anos de idade. Já utilizou todos os sistemas operacionais possíveis, mas hoje se contenta com o OSX instalado em seu desktop. Quando não está trabalhando, é IGL e Awper do time de CS:GO da Treinaweb. Até passou em uma peneira do Cruzeiro, mas preferiu estudar Python.

Todos os artigos

Artigos relacionados Ver todos