Como usar coleções - Parte V – Final

Nesta último artigo sobre coleções, falaremos um pouco sobre Mapas (Map).

Como usar coleções - Parte V – Final

 

Estamos chegando ao final de nossa série de artigos sobre Coleções do Java. Nessa última parte falaremos um pouco sobre Map.

 

Usando Mapas

Mapas (também chamados de arrays associativos) de objetos são mais uma das formas de organizarmos coleções de objetos, apesar de se parecerem com arrays de objetos, seus índices não precisam necessariamente ser valores inteiros positivos seqüênciais, por isso podem ser instâncias de uma classe qualquer, simplificando: Mapas são conjuntos de pares de objetos, sendo um chamado chave e o outro, valor.

 

Mapas permitem valores iguais, porém, não permitem chaves repetidas, é importante lembrar que chaves diferentes podem ser ou estarem associadas a valores iguais.

 

No Java as interfaces e classes que implementam Mapas não herdam da interface Collection, mas mesmo assim é possível de forma separada acessar e manipular chaves e valores de mapas como se estes fossem coleções.

 

Os métodos que podem ser aplicados a um mapa são definidos pela interface Map, esses métodos são implementados por duas classes HashMap e TreeMap.

 

 

Figura 1 – Exemplo de HashMap

 

A seguir um exemplo do uso de Map:

Crie o arquivo DIPs.java.

// Importando as bibliotecas necessárias

import java.io.IOException;

import java.util.*;

import java.io.BufferedReader;

import java.io.InputStreamReader;

/**

 *

 * @author claudio

 */

public class DIPs {

public DIPs() {

  //Metdp construtor

}

@SuppressWarnings("unchecked")

public static void main(String[] args) throws IOException {

//Criando uma instancia de HashMap que vai possibilitar que

//emulemos um dicionario

Map dicionario = new HashMap();

   

    //Agora adicionamos vários pares de hosts e Ips

dicionario.put("www.sbc.org.br", "143.54.83.4");

dicionario.put("www.usp.br", "143.107.253.62");

dicionario.put("www.inpe.br", "150.163.12.2");

dicionario.put("www.unicamp.br", "150.163.12.2");

dicionario.put("www.fapesp.br", "143.108.30.103");

dicionario.put("www.sun.com", "192.18.97.241");

dicionario.put("java.sun.com", "192.18.97.71");

dicionario.put("www.ibta.com.br", "200.219.192.212"); 

//Declarando uma variável chamada entrada do tipo BufferedReader

//para a entrada de dados da aplicação

BufferedReader entrada;

//Iniciando loop

while (true) {

System.out.print("Entre com o nome do servidor ou tecle enter para terminar:");

//capturando o valor digitado

entrada = new BufferedReader(new InputStreamReader(System.in));

String nomeDoServidor = entrada.readLine();

// Testando as Exceções

try{

if(nomeDoServidor.length() == 0) break;

if(dicionario.containsKey(nomeDoServidor))

System.out.print("O IP do servidor" + nomeDoServidor + "é" + dicionario.get(nomeDoServidor) + ".");

else{

System.out.print("Este Dicionario não Contém o IP do servidor" + nomeDoServidor + "." );

}

}catch (Exception e){

System.out.println("Ocorreu um erro durante a leitura!");

}

} //Fechando o Loop  

}

}

Artigos relacionados