Recuperando valor de um Map Hash Map

ola…

Estou com um grande problema, sou novo em java e estou com uma dificuldade.

tenho um array de objetos onde quero listar um componente especifico ex:

Cadastro cadastros [] = {cad, cad2};
onde cad e cad2 são os objetos contendo os campos nome, sobrenome ja populados.

Adicionei no Map:

[code]

Map teste = new HashMap();
for(int i=0;i<cadastros.length;i++)
{
teste.put(“nome”, cadastros[i].getNome());
teste.put(“sobrenome”, cadastros[i].getSobrenome());

}

Minha dificuldade não é pegar o valor todo sendo teste ja contem o nome e o sobrenome, e sim recuperar somente o NOME dos objetos.

tentei fazer um for de teste[i] mas nao funciona

grato

para vc poder pegar objetos dentro de um Map vc faz o seguinte:

Map map = new HashMap()

map.put(“Nome”, “joselito”);
map.put(“SobreNome”,“Sem nocao”);

// pegando objeto
// eh necessario fazer o typeCasting para poder converter de Object p/ String
String nome = (String) map.get(“Nome”);
String sobreNome = (String) map.get(“SobreNome”);

espero ter ajudado…

Você tbm pode usar o metodo toString:

String nome = map.get("Nome").toString();
String sobreNome = map.get("SobreNome").toString();

Olha só uma coisa…
Na Collection HashMap vc deve associar um nome (chave) a um objeto.
Esta chave deve ser única.

No código que vc postou vc faz um laço que inclui ‘n’ objetos para a mesma chave: neste caso “nome” e “sobrenome”. Ou seja no final quando vc for recuperar o objeto relacionado a estas chaves, só irá te retornar o ultimo dado colocado, gerando um erro de logica no seu algoritmo.

Tente utilizar uma outra Collection como ArrayList ou Vector.
Assim vc poderá Iterar sobre esta coleção e recuperar os valores que vc deseja.

espero ter ajudado.

sucesso!

muito obrigado…voce estava certo…vou ter que usar ArrayList…

grato