Когда вы используете collect()
vs reduce()
? Кто-нибудь имеет хорошие, конкретные примеры того, когда определенно лучше идти так или иначе?
Javadoc упоминает, что collect() - изменяемое изменение.
Учитывая, что это изменчивое сокращение, я предполагаю, что для этого требуется синхронизация (внутренне), которая, в свою очередь, может нанести ущерб производительности. Предположительно reduce()
более легко распараллеливается за счет необходимости создания новой структуры данных для возврата после каждого шага сокращения.
Вышеприведенные утверждения - это догадки, и мне бы хотелось, чтобы эксперт звонил здесь.