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 usuario
e 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);
}
Curso Dart - Fundamentos
Conhecer o cursoRetornando 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);
}
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);
}
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);
}
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);
}