
Esse artigo tem por objetivo mostrar a utilização da interface MAP para armazenar informações específicas de forma estruturada. Vamos ao problema:
- Preciso dividir minhas informações por empresa
- Preciso criar um conjunto de informações específicas para a empresa.
Temos o seguinte cenário, n empresas para n informações. Para exemplificar vamos utilizar:
- empresa precisa passar informações sobre localização (endereço, cnpj, cidade, estado)
- empresa precisa passar informações sobre setores (vendas, comercial, suporte)
- empresa precisa passar a listagem de funcionários (Alberto, Henrique, Ana)
- empresa precisa passar os projetos que trabalha (projeto1, projeto2, projeto3);
Vamos ao código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | import java.util.Map; // importando a interface Mapimport java.util.HashMap; //classe para utilização da interfacepublic class Mapas{ public static void main(String[] args) { /* Criação do Map, onde o mesmo irá utilizar como chave o nome da empresa para mapear as informações, que estarão em um Array de Object*/ Mapnew HashMap /* As informações são passadas através de Arrays de Strings, cada Array contém uma informação específica.*/ String[] localizacao = {"endereco","cnpj","cidade","estado"}; String[] setores = {"vendas","comercial","suporte"}; String[] funcionarios = {"Alberto","Henrique","Ana"}; String[] projetos = {"projeto1","projeto2","projeto3"}; //É criado uma variável para armazenar os objetos (cada array é um objeto) Object[] informacoes = {localizacao,setores,funcionarios,projetos}; mapa.put("Empresa", informacoes); // é feito o mapeamento entre a empresa e seus dados // Os dados foram mapeados, vamos ver como recuperá-los. /* é criado um array de Object para recuperar os dados mapeados, observe que no método get de HashMap é passado o parâmetro "Empresa". Será retornado as informações que estão mapeadas com a empresa passada como parâmetro. Se vc tivesse passado como parâmetro a empresa "IBM" e existisse um mapeamento para essa empresa, as informações sobre a IBM retornariam no Array recDados*/ Object[] recDados = mapa.get("Empresa"); for (int i = 0; i < recDados.length; i++) // array para iterar entre as informações { // switch utilizado para exibir a informação que está sendo impressa. switch (i) { case 0: System.out.println("Localização: "); break; case 1: System.out.println("Setores: "); break; case 2: System.out.println("Funcionários: "); break; case 3: System.out.println("Projetos: "); break; } /*Como o array recDados é do tipo Object e eu tenho a informação que ele armazena array de strings, eu devo fazer um Cast para String[]*/ for (String s : (String[])recDados[i]) { System.out.println(s); // imprime o item para cada array de strings } System.out.println(); // espaço após terminar a impressão da informação } } } |
Resultado:
Localização:
endereco
cnpj
cidade
estado
Setores:
vendas
comercial
suporte
Funcionários:
Alberto
Henrique
Ana
Projetos:
projeto1
projeto2
projeto3
Bom é isso aí, a interface Map é simples mas muito eficiente para estruturar informações.
Fonte: DevMedia

Nenhum comentário:
Postar um comentário