PR - Diogo - Pratica de Lambda #3
Conversation
There was a problem hiding this comment.
Parabéns por se comprometer a desenvolver as atividades, em uma analise geral o código está bem satisfatório, adicionei umas dicas para evoluir seu código junto com uns pontos para refazer a atividade.
OBS: Formulei a atividade VIII incorretamente, queria realmente dizer:
VIII Mostra a categoria onde com os produtos mais caro;
VIII - Mostrar a categoria onde a soma dos produtos seja mais caro;
|
|
||
| import java.math.BigDecimal; | ||
|
|
||
| public class Produtos { |
There was a problem hiding this comment.
DICA:
- Por padrão do design pattern
beano nome da classe não seria no plural ex:
- Produtos
+ Produto- Legal a estrutura que você criou a classe (muitos sente dificuldade), uma dica seria para o atributo de categoria utilizar um enum ia deixar seu código mais profissional ; )
| } | ||
|
|
||
|
|
||
| public static void main(String[] args) { |
There was a problem hiding this comment.
Não consigo vincular de forma simples qual método é a resposta de cada pergunta, fica como dica adicionar um comentário com a questão para ajudar quem vai corrigir kkk.
|
|
||
| private static void filtroTecnologia() { | ||
| List<Produtos> produtoTempList = Carrinho.produtoList.stream() | ||
| .filter(p -> "Tecnologia" == p.getCategoria()) |
There was a problem hiding this comment.
Tem certeza que esse método funcionou? a forma correta de comparar Objetos no java seria utilizar o método .equals
|
|
||
| produtoTempList.stream().forEach(p -> { | ||
| System.out.println(p.getNome()); | ||
| }); |
There was a problem hiding this comment.
DICA Interessante a forma que foi pensada para resolver essa atividade, talvez outra forma legal de fazer seria aproveitando o stream que fez no começo e adicionando mais uma condição ex:
- List<Produtos> produtoTempList = produtoList.stream()
+ List<String> produtoNamesList = produtoList.stream()
.filter(p -> 'S' == p.getTemEstoque())
+ .map(Produtos::getName)
.collect(Collectors.toList());| }); | ||
| } | ||
|
|
||
| private static void filtroEsporte() { |
There was a problem hiding this comment.
O objetivo era fazer a soma do atributo valor da classe Produtos e não fazer fazer a contagem da lista
| }); | ||
| } | ||
| private static void getListIds() { | ||
| List <Produtos> produtoTempList = produtoList.stream() |
There was a problem hiding this comment.
Interessante sua forma de pensar, parabéns por resolver o problema mas tem uma limitação na lógica, imagine que esses ids são informados pelo usuário... seu código não ia suportar, uma forma seria:
List<Integer> ids = Arrays.asList(850, 403, 625);
List <Produtos> produtoTempList = produtoList.stream()
.filter(p -> ids.contains(p.getId()))
.toList();
No description provided.