1
resposta

Usando Steam no método para buscar a empresa pelo Id

public Empresa buscarEmpresaPeloId(Integer id) {
        Empresa empresa = empresas.stream()
                .filter(t -> t.getId().equals(id))
                .findAny()
                .orElse(null);

        return empresa;
    }

O método acima teria a mesma funcionalidade do apresentado em aula?

1 resposta

Olá Ayrton, tudo bem?

Sim, ambos os métodos têm a mesma funcionalidade, que é buscar uma empresa com um determinado ID em uma lista de empresas e retorná-la.

O seu método usa a API de stream do Java para filtrar a lista de empresas pelo ID e, em seguida, retorna a primeira empresa encontrada usando o método findAny(). Se nenhuma empresa for encontrada, o método retorna null.

O método da aula usa um loop for para iterar sobre a lista de empresas e, em seguida, compara o ID de cada empresa com o ID fornecido como parâmetro. Se o ID corresponder, a empresa é retornada. Se nenhum ID correspondente for encontrado, o método retorna null.

Embora os métodos tenham a mesma funcionalidade, a implementação pode ter impacto no desempenho e na legibilidade do código. Em geral, o uso de streams pode tornar o código mais conciso e legível, mas pode ter um impacto negativo no desempenho em algumas situações. Por outro lado, o uso de loops for pode ser mais verboso, mas pode ser mais eficiente em alguns casos.