HashMap

9 respostas
A

Oi pessoal,

reformulando minha pregunta:

Gostaria que alguém me possa mostrar exemplos de operações básicas do HashMap (insertar, eliminar, buscar, etc.) usando Generics. Já busquei por ai e não achei o que eu queria.

Desde já agradeço.

André.

9 Respostas

B

Bom dia,

não sei se é bem isso que você está querendo … mas fiz um código básico com algumas operações do HashMap.
Segue abaixo o código:

// Criando um HashMap usando generics: chave: String valor: Integer
    Map<String,Integer> pessoas = new HashMap<String,Integer>();
    
    //Inserindo dados no HashMap
    pessoas.put("João",35);
    pessoas.put("Marcos", 49);
    
    //Consultando o HashMap
    Integer idadeJoao = pessoas.get("João");
    Integer idadeMarcos = pessoas.get("Marcos");
    
    // Excluindo dados do HashMap
    pessoas.remove("João");
    pessoas.remove("Marcos");
    
    // Verifica se existe algum João no HashMap
    boolean existeJoao = pessoas.containsKey("João")
    
    // Verifica se existe alguem com 35 anos
    boolean existe35 = pessoas.containsValue(35);
    
    // Remove todos os itens do HashMap
    pessoas.clear();
V

Insertar? putz :roll:

A

era isso mesmo bruno. Valeu! Com o exemplo já tirei algumas dúvidas…

Mas continuo com uma dúvida…para apagar uma chave, não é necessario buscar a chave no Mapa com um loop (e como se faz)? ou se apaga direto(igual ao exemplo)??

e quando for devolver um Mapa, o código abaixo está correto?

public Map <String,Integer> getMap(){
   return pessoas;
}

Muito Obrigado!

vhuzalo:
andretco:

HashMap (insertar, eliminar, buscar, etc.)

Insertar? putz :roll:

:lol: parece que não existem esas palavras né?? :lol: É que agora estou morando no Chile e já me acostumei com o español e me estou esqueçendo do português.

V

Pode apagar direto. A grande vantagem do mapa é justamente essa. Com a chave, você se referencia a qualquer elemento instantaneamente.

M

vhuzalo:
andretco:

HashMap (insertar, eliminar, buscar, etc.)

Insertar? putz :roll:

Insertar deriva da palavra em inglês insert que significa inserir
:rool:

A

Obrigado pela resposta Vinicius.

Em relação ao método para retornar o Mapa pessoas, está certo?

valeu!

V

Sim, e funciona. Mas eu não faria assim pq a classe que recebe o seu mapa poderá altera-lo, o que é uma violação do encapsulamento da classe que controla o mapa.

Você tem 2 alternativas para impedir isso. A primeira é retornar uma cópia do mapa:

public Map &lt;String,Integer&gt; getMap(){ return new HashMap(String, Integer&gt;(pessoas); }

A segunda é retornar uma versão imodificável do mapa. Se a maior parte das classes só usa o método para ler informações do mapa, essa forma deve ser preferida:

public Map &lt;String,Integer&gt; getMap(){ return Collections.unmodifiableMap(String, Integer&gt;(pessoas); }

A

ok Vinicius.

Fico muito agradecido pela sua ajuda e dicas.

Valeu mesmo.

Agora vou começar a brincar com o HashMap :slight_smile:

L

e se o campo valor tiver um objeto como eu vejo se contém

static HashMap<Integer, Aluno> mapeamentoDeAlunos = new HashMap<Integer,Aluno>();

 mapeamentoDeAlunos.put(RA,new Aluno("maria","20"));

como uso o metodo containsValue ???

Criado 5 de dezembro de 2007
Ultima resposta 17 de nov. de 2010
Respostas 9
Participantes 6