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:

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.