Colecoes
Mapas
Java Collections - Map
A java.util.Map
é uma coleção que representa uma estrutura chave/valor ou "mapping key/value" mapeando-se uma chave única à um valor onde, obviamente tanto a chave quanto o valor são basicamente objetos.
ℹ️ Informação
Mesmo fazendo parte da Collection Framework, um
Mesmo fazendo parte da Collection Framework, um
Map
não é considerado uma Collection
, não existe relação de herança entre elas.Nome | Descrição |
---|---|
HashMap | Um mapa sem relevância quanto a ordem de interação |
LinkedHashMap | Um mapa que mantém a ordem de inserção. |
TreeMap | Um mapa capaz de classificar as chaves pela ordem natural |
Já aprendemos que umas das principais operações em uma coleção são: Adicionar elementos e interagir mediante os elementos adicionados. Em particular, um Map
dispõe de uma estrutura particular para estas operações.
Adicionando elementos
Diferente das demais coleções aonde usamos o método add
para incluir novos elementos, um Map
disponibiliza o método put
que recebe dois parâmetros key
e value
respectivamente.
Mapas.java
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class Mapas {
public static void main(String[] args) {
Map estadosBrasileiro = new HashMap();
estadosBrasileiro.put("SP","SAO PAULO");
estadosBrasileiro.put("PI","PIAUÍ");
estadosBrasileiro.put("MA","MARANHÃO");
estadosBrasileiro.put("AM","AMAZONAS");
estadosBrasileiro.put("BA","BAHIA");
estadosBrasileiro.put("GO","GOIAS");
Iterator ufsIterator = estadosBrasileiro.keySet().iterator();
while (ufsIterator.hasNext()) {
Object key = ufsIterator.next();
Object value = estadosBrasileiro.get(key);
System.out.println("Sigla: " + key + " Nome: " + value);
}
// outro exemplo
// Map e Enum são contexto diferentes
// Avalie cada contexto e usabilidade
Map estadosCivil = new HashMap();
estadosCivil.put("S","SOLTEIRO(A)");
estadosCivil.put("C","CASADO(A)");
estadosCivil.put("D","DIVORCIADO(A)");
estadosCivil.put("V","VIÚVO(A)");
}
}
Sigla: MA Nome: MARANHÃO
Sigla: GO Nome: GOIAS
Sigla: PI Nome: PIAUÍ
Sigla: AM Nome: AMAZONAS
Sigla: SP Nome: SAO PAULO
Sigla: BA Nome: BAHIA
✔️ Conclusão
Agora imagina qual a ordem na impressão dos estados brasileiros ao mudar a linha 6 do código acima para que o map fosse do tipo
Agora imagina qual a ordem na impressão dos estados brasileiros ao mudar a linha 6 do código acima para que o map fosse do tipo
LinkedHashMap
e TreeMap
respectivamente?