Um analista de dados da prefeitura recebeu a tarefa de expl...

Próximas questões
Com base no mesmo assunto
Q4196041 Programação
Um analista de dados da prefeitura recebeu a tarefa de explorar os dados de remuneração dos servidores da prefeitura utilizando a linguagem Java. Considere o trecho de código incompleto gerado pelo analista abaixo:

1. import java.util.Arrays;
2. import java.util.List;
3. import java.util.DoubleSummaryStatistics;
4. public class Main {
5. public static void main(String[] args) {
6.  List < Double > remuneracoes = Arrays.asList (4911.82, 2950.99, 19315.51, 3056.44);
7.  DoubleSummaryStatistics ed = remuneracoes. stream()
8.         .mapToDouble(remuneracao -> remuneracao)
9.        ._____________();
10.  System.out.println(ed); } }

O código deve utilizar a biblioteca correta do Java para gerar estatísticas descritivas dos dados da lista de remunerações.

Assinale a alternativa que indica corretamente o método que deve ser chamado na linha 9 e quais são as estatísticas descritivas retornadas por esse método.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: B

Fundamento decisivo: Após mapToDouble(...), o encadeamento resulta em um DoubleStream; por isso, a linha 9 deve chamar summaryStatistics() para produzir o DoubleSummaryStatistics exigido.

Tema central: DoubleStream e summaryStatistics
Análise das alternativas
A
Errada
Erra o nome do método. As estatísticas listadas são as do DoubleSummaryStatistics, mas no DoubleStream o método terminal correto é summaryStatistics(), não summary().
B
Certa
A alternativa B está correta porque, no fluxo remuneracoes.stream().mapToDouble(remuneracao -> remuneracao), o tipo intermediário é DoubleStream, e o método terminal adequado é summaryStatistics(). Esse método retorna um DoubleSummaryStatistics com contagem, soma, mínimo, média e máximo.
C
Errada
Erra em dois pontos concretos: o método não é summary() e o objeto DoubleSummaryStatistics não fornece quartis nem mediana. Pela base, ele agrega apenas count, sum, min, average e max.
D
Errada
Acerta o método, mas erra o conteúdo do retorno. summaryStatistics() não entrega desvio padrão nem mediana; o conjunto correto é contagem, soma, mínimo, média e máximo.
E
Errada
Indica um nome de método inadequado para esse encadeamento: não se chama doubleSummaryStatistics(). Além disso, atribui ao retorno desvio padrão e mediana, medidas que não fazem parte do DoubleSummaryStatistics.
Pegadinha da questão
A confusão entre o nome da classe DoubleSummaryStatistics e o nome real do método terminal, além da tentativa de atribuir a esse objeto medidas que ele não calcula, como mediana, quartis ou desvio padrão.
Dica para questões semelhantes
  • Após mapToDouble(...), verifique o tipo resultante: o fluxo passa a ser um DoubleStream.
  • Quando a variável de destino é DoubleSummaryStatistics, a chamada final precisa retornar exatamente esse tipo.
  • No DoubleStream, summaryStatistics() agrega apenas count, sum, min, average e max.
  • Não deduza o nome do método pelo nome da classe; confirme se a API expõe summaryStatistics() e não nomes intuitivos como summary() ou doubleSummaryStatistics().

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo