
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 Map import java.util.HashMap; //classe para utilização da interface public 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*/ Map new 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