Esse artigo tem por objetivo mostrar a utilização da interface MAP para armazenar informações específicas de forma estruturada. Vamos ao problema:
Relacionado: Curso completo de Java
- 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:
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<String,Object[]>mapa = new HashMap<String,Object[]>();
//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.
Saiu na DevMedia!
- O que é TDD?: Test Driven Development é uma técnica de desenvolvimento de software muito utilizada, por possuir algumas boas vantagens.
- Curso Extreme Programming (XP): O Objetivo desse curso é permitir que o profissional de TI, envolvido com o desenvolvimento de software, possa aplicar a metodologia ágil de desenvolvimento estabelecida nos conceitos da eXtreme Programming (XP). Através do Curso o aluno se tornará familiarizado com os conceitos, áreas de conhecimento, princípios, práticas e processos por trás do desenvolvimento ágil, mas principalmente os que são aplicáveis ao método XP.
- Levantamento de requisitos: Planejando uma aplicação de lembretes: Neste curso você verá como funciona uma reunião para levantamento de requisitos de um novo software.
Saiba mais sobre PHP ;)
- O Que é JPA?: Dominar a persistência de dados é uma necessidade indispensável aos programadores. Sem esse conhecimento nossas aplicações não terão a capacidade de armazenar e recuperar os dados por ela manipulados.
- Preparando o ambiente para programar em Java: Neste curso você aprenderá a preparar seu ambiente para programar em Java. Veremos aqui o que é necessário instalar e como proceder para desenvolver aplicações com essa linguagem.
- Criando meu primeiro projeto no Java: Neste curso você aprenderá a criar o seu primeiro programa com Java, e não, ele não será um simples “Hello, World!”. :) Para isso, vamos começar ensinando como instalar o Java e preparar o ambiente de desenvolvimento.