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 keye 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?