The program below shows how to do this.
First, a list is created where objects Pessoa
s are created and inserted. Next, you scroll through this list and add HashMap
as key, the number and as value the person’s name.
Finally, you go through the list again and you recover from the HashMap
the name, using as key the phone.
Note that used Map
as an interface for instantiating the HashMap
'cause that’s good practice.
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class HashMapUso {
public static void main(String[] args) {
// crio lista de pessoas
List<Pessoa> pessoas = new ArrayList<Pessoa>();
pessoas.add(new Pessoa("nome1", "numero1"));
pessoas.add(new Pessoa("nome2", "numero2"));
pessoas.add(new Pessoa("nome3", "numero3"));
// mapa onde as pessoas são inseridas
Map<String, String> pessoaMap = new HashMap<String, String>();
// dado um número, guardo o nome
for (Pessoa pessoa : pessoas) {
pessoaMap.put(pessoa.getNumero(), pessoa.getNome());
}
// recupero o nome e o imprimo, dado um número
for (Pessoa pessoa : pessoas) {
System.out.println(pessoaMap.get(pessoa.getNumero()));
}
}
}
class Pessoa {
public Pessoa(String nome, String numero) {
this.nome = nome;
this.numero = numero;
}
private String nome;
private String numero;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getNumero() {
return numero;
}
public void setNumero(String numero) {
this.numero = numero;
}
}
http://www.devmedia.com.br/hashmap-java-trabalhando-com-listas-key-value/29811
– ramaral