• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

nakuro

[Resolvido]HashMaps

5 mensagens neste tópico

Boas

Como faço para percorrer um hash map?

Eu tenho um hash map com as keys a serem Strings (nome_do_filme) e tenho a referenciado para cada key um objecto (DVD) que contem varios metodos com por exemplo getnomerealizador();

A minha questão é dado um nome de um realizador devolver o nome do filme, ou seja dado um nome que vai estar dentro do objecto devolver a key.

E não tou a ver como percorrer uma key uma a uma :wallbash:

Cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Basta obteres o Iterador e percorreres esse iterador.

Iterator it = map.keySet().iterator();

while (it.hasNext()) {
   Object chave = iterator.next();
   Object valor = map.get(key);
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ou...

Iterator it = map.entrySet().iterator();

while(it.hasNext()){ 
    Map.Entry entry = (Map.Entry)it.next();
    String key = (String)entry.getKey();
    String value = (String)entry.getValue();
}

Este está no fórum da sun.... um ou outro funcionará e as diferenças serão minímas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ou, se for em Java 5 e quiseres percorrer todo o map (o que só faz sentido se houver vários filmes para um mesmo realizador e os quiseres obter todos):

HashMap<String,Object> x=new HashMap<String,Object>();

...

for(Object filme:x.values())
{
    ...
}

(onde está Object, devia ser DVD).

EDIT: podes usar directamente o 'values'...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ja consegui :biggrin:, realmente com esses metodos de java 5 e bem mais facil de se fazer, de qualquer maneira ja fiquei a saber varias formas de fazer :ipool:

obrigado e cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora