Usando toMap em vez de GroupingBy e Redução em Java Streams
Ao trabalhar com Java Streams, é comum encontrar situações em que groupingBy e redução de coletores são usados em combinação. No entanto, vale a pena explorar um padrão alternativo sugerido por Holger em uma discussão anterior sobre StackOverflow.
Holger observou que sempre que groupingBy e redução são empregados, é recomendado considerar toMap como uma opção mais apropriada. Esse padrão provou ser eficaz no aprimoramento da eficiência e legibilidade do código.
A justificativa para usar o toMap
Esse padrão surgiu por meio de experiência prática com coletores de fluxo. Tanto groupingBy quanto toMap têm seus usos, mas toMap exibe certas vantagens em determinados cenários.
Em primeiro lugar, toMap imita uma operação de redução tradicional mais de perto do que groupingBy combinado com redução. A função de mesclagem empregada em toMap funciona de maneira semelhante a uma função de redução, apesar de sua nomenclatura diferente.
Além disso, groupingBy normalmente retorna um valor Opcional, que pode ser inconveniente quando usado com groupingBy. Em contraste, toMap integra-se perfeitamente com groupingBy e evita esse problema.
Em resumo, toMap oferece uma abordagem concisa e elegante para agrupar e reduzir dados em Java Streams. Embora ambos os coletores tenham seu lugar, é essencial reconhecer as vantagens do toMap e considerar seu uso como uma alternativa ao groupingBy e à redução de combinações.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3