cami-la / collections-java-api-2023

Este repositório é referente ao curso "Collection Framework API Java" e é uma valiosa contribuição para a comunidade de desenvolvedores Java, fornecendo exemplos práticos e recursos educacionais relacionados à poderosa API de coleções da linguagem Java.
https://web.dio.me/course/conhecendo-collections-java/learning/c5d6f4e1-6d05-4eea-93d8-d292c708999f
876 stars 636 forks source link

Pesquisa em Map - obterProdutoMaiorQuantidadeValorTotalNoEstoque() #2

Open gabriel-abn opened 11 months ago

gabriel-abn commented 11 months ago

Olá Camila, como vai?

Creio que ficou faltando a implementação do método obterProdutoMaiorQuantidadeValorTotalNoEstoque() na classe EstoqueProdutos.

Creio que colocar a implementação poderia ajudar ainda mais nossos estudos.

Obrigado pela atenção!

cami-la commented 11 months ago

Oi, Gabriel. Tudo certinho sim e por aí?

  public Produto obterProdutoMaiorQuantidadeValorTotalNoEstoque() {
    Produto produtoMaiorQuantidadeValorNoEstoque = null;
    double maiorValorTotalProdutoEstoque = 0d;
    if (!estoqueProdutosMap.isEmpty()) {
      for (Map.Entry<Long, Produto> entry : estoqueProdutosMap.entrySet()) {
        double valorProdutoEmEstoque = entry.getValue().getPreco() * entry.getValue().getQuantidade();
        if (valorProdutoEmEstoque > maiorValorTotalProdutoEstoque) {
          maiorValorTotalProdutoEstoque = valorProdutoEmEstoque;
          produtoMaiorQuantidadeValorNoEstoque = entry.getValue();
        }
      }
    }
    return produtoMaiorQuantidadeValorNoEstoque;
  }

Lembra de quando for montar os casos de testes, criar com os valores e quantidade diferentes. Caso quisessemos retornar mais de um produtos com os mesmos valores totais, teriamos que retornar uma estrutura como Produto[] array, List<Produto> ou Set<Produto> por exemplo. Beleza?

Ah, muito obrigada pelo report! E sim, vou atualizar todo o material, têm alguns métodos que precisam ser implementados. (:

Muito obrigada pelo feedback. Precisando, estou à disposição.