From eb3f3360d86177c511ae43ced76ac06ed28b4ef9 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Fri, 29 Jan 2021 11:47:44 +0100 Subject: [PATCH] Polishing. Replace stream() usage with for-loops where possible to reduce GC overhead. See #1008. --- .../data/cassandra/core/StatementFactory.java | 98 ++++++++++--------- 1 file changed, 53 insertions(+), 45 deletions(-) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/StatementFactory.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/StatementFactory.java index e55ec2b2e..252ae446c 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/StatementFactory.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/StatementFactory.java @@ -17,7 +17,6 @@ package org.springframework.data.cassandra.core; import java.beans.PropertyDescriptor; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.LinkedHashMap; @@ -624,18 +623,22 @@ public class StatementFactory { select = QueryBuilder.selectFrom(from).all(); } else { - List mappedSelectors = selectors.stream() - .map(selector -> selector.getAlias().map(it -> getSelection(selector).as(it)) - .orElseGet(() -> getSelection(selector))) - .collect(Collectors.toList()); + List mappedSelectors = new ArrayList<>( + selectors.size()); + for (Selector selector : selectors) { + com.datastax.oss.driver.api.querybuilder.select.Selector orElseGet = selector.getAlias() + .map(it -> getSelection(selector).as(it)).orElseGet(() -> getSelection(selector)); + mappedSelectors.add(orElseGet); + } select = QueryBuilder.selectFrom(from).selectors(mappedSelectors); } StatementBuilder