Java Mapa

6 respostas
I

Galera outro problemas com mapa
Preciso de obter uma informação atraves de um valor do meu mapa e não da chave

6 Respostas

Rafa_Lpark

Em que contexto isso está inserido?
Poderia postar o código?

Sua dúvida pode ter muitas interpretações.

I
Por exemplo preciso usar um metodo de transferencia bancaria e preciso pegar o cpf do cliente que esta associado a uma conta  que eh o valor do meu mapa ,e a chave eh uma string que é credencial orque todas

operações precisam da credencial

Map<String, ContaSalario> banco = new HashMap<>();

E esse eh o cadastro do mapa

Cliente c = new Cliente(Hermione Granger”, ahgsg”, Rua das Alfineiros”, MG”, Juiz de Fora”, 12344, 21234, 21325,75, 21/02/2017”, 21/02/2017);

ContaSalario conta = new ContaSalario(123.7, 1234ABC”, c);
JulioCesarSF

Conta é o value do HashMap e o cpf atributo da classe Cliente.

public static void main(String[] args) {

	Cliente cliente1 = new Cliente(0, "cpf1");
	Cliente cliente2 = new Cliente(1, "cpf2");
	Cliente cliente3 = new Cliente(2, "cpf3");

	Conta conta1 = new Conta(0, 100, cliente1);
	Conta conta2 = new Conta(1, 200, cliente2);
	Conta conta3 = new Conta(2, 300, cliente3);

	Map<String, Conta> map = new HashMap<>();
	map.put("credencial1", conta1);
	map.put("credencial2", conta2);
	map.put("credencial3", conta3);

	String buscarEsteCpf = "cpf3";

	for (Map.Entry<String, Conta> set : map.entrySet()) {
		if (set.getValue().getCliente().getCpf().equals(buscarEsteCpf)) {
			System.out.println(set.getValue().toString());
		}
	}
}

Output (sobrescrita toString):
Conta: [ 2, 300.0, Cliente:[ 2, cpf3 ] ]

I

Então fui fazer como falou e deu esse erro:

JulioCesarSF

Eu dei um exemplo em que o cfg é uma String.

Aparentemente na sua classe Cliente o cpf é tipo primitivo ou qualquer outro tipo que não dá para ver na screenshot.

O equals você usa para comparar dois objetos (tipos referência) do mesmo tipo.

Você pode simplesmente fazer
getCpf() == cpf

I

Ok obrigada

Criado 27 de maio de 2017
Ultima resposta 28 de mai. de 2017
Respostas 6
Participantes 3