I'm a beginner in Java. I need a program that reads the name and number of some people, and then type a number and the program returns the name of the person associated with the number. I was advised to use HashMap. If anyone has any examples ...
I'm a beginner in Java. I need a program that reads the name and number of some people, and then type a number and the program returns the name of the person associated with the number. I was advised to use HashMap. If anyone has any examples ...
import java.util.HashMap;
import java.util.Scanner;
public class Testes {
public static void main(String[] args) {
Scanner leitor = new Scanner(System.in);
HashMap<Integer, String> pessoas = new HashMap<Integer, String>();
int numero;
for(int i = 0; i < 5; i++){
System.out.println("Digite o número da pessoa: ");
numero = leitor.nextInt();
System.out.println("Digite o nome da pessoa: ");
String nome = leitor.next(); // Alteração neste ponto
pessoas.put(numero, nome);
}
System.out.println("Digite o número da pessoa que você deseja buscar: ");
numero = leitor.nextInt();
System.out.println("O nome da pessoa " + numero + " é " + pessoas.get(numero));
}
}
The program below shows how to do this.
First, a list is created where Pessoa
s objects are created and inserted. Then, you can scroll through this list by adding% as a key, the number and value of the person's name.
Finally, you go through the list again and recover from HashMap
name by using the key as your phone.
Note that we used HashMap
as an interface to instantiate Map
because this is a 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;
}
}