collections-java-api-2023 icon indicating copy to clipboard operation
collections-java-api-2023 copied to clipboard

Map - Livraria Online

Open nataliabrunelli opened this issue 1 year ago • 3 comments

Olá, Cami,

Me ajude a entender os métodos desse exercício da Livraria Online?

Estava fazendo o curso e os exercícios complementares e tava dando certo, mas nesse último do Map eu precisei olhar a resolução, não entendi nada do método "remover" pra frente, foi bem difícil :')

No mais, muito obrigada pelas aulas, muito boas! :))

nataliabrunelli avatar Jul 08 '24 22:07 nataliabrunelli

Oi, Nathy. Tudo certinho?

Então, sobre o Map, realmente ele é um dos mais "complicadinhos" mesmo de entender. É preciso fazer alguns exercícios para fixar o conceito.

Aqui nas issues tem algumas pessoas com dúvidas também e você pode dá uma lida, talvez clarifique mais as ideias.

Caso tenha dúvidas mais específicas, explica aqui que podemos ir discutindo.

Ah, obrigada pelo feedback. Bons estudos para nós!

cami-la avatar Jul 23 '24 16:07 cami-la

Também não entendi. No metodo exibirLivrosOrdenadosPorPreco cria uma lista com Map e o entry set, mas na hora de utilizar o comparator dá uma incompatibilidade dizendo que não pode ser aplicado este tipo de listagem. Talvez tenha que criar a classe CoparatorPOrPreco com algum detalhe diferente, mas você não deixou esta classe na resposta; Se criar uma lista de livro por exemplo não dá este erro de incompatibilidade, pode verificar o funcionamento deste método e postar as classes do comparator?

Oliveira2023 avatar Sep 29 '24 02:09 Oliveira2023

Ola novamente. Realmente tive que mudar a classe do comparatorPorPreco pra receber um Map.Entry e assim na hora de utilizar a classe não apresenta o erro. segue como ficou a classe: import java.util.Comparator; import java.util.Map;

public class ComparatorPorPreco implements Comparator<Map.Entry<String, Livro>> { @Override public int compare(Map.Entry<String, Livro> entry1, Map.Entry<String, Livro> entry2) { Double preco1 = entry1.getValue().getPreco(); Double preco2 = entry2.getValue().getPreco(); return preco1.compareTo(preco2); } }

Oliveira2023 avatar Sep 29 '24 12:09 Oliveira2023