Prefer ArrayList/ArrayDeque over LinkedList for multi-element holders

LinkedList remains in place where a List is likely to remain empty or single-element (in order to avoid unused capacity).

Issue: SPR-17037
This commit is contained in:
Juergen Hoeller
2018-07-18 22:17:42 +02:00
parent 833aee9b2d
commit 9c08a482d1
27 changed files with 77 additions and 82 deletions

View File

@@ -22,7 +22,7 @@ import java.sql.Connection;
import java.sql.SQLException;
import java.sql.SQLWarning;
import java.sql.Statement;
import java.util.LinkedList;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.logging.Log;
@@ -460,7 +460,7 @@ public abstract class ScriptUtils {
separator = FALLBACK_STATEMENT_SEPARATOR;
}
List<String> statements = new LinkedList<>();
List<String> statements = new ArrayList<>();
splitSqlScript(resource, script, separator, commentPrefix, blockCommentStartDelimiter,
blockCommentEndDelimiter, statements);

View File

@@ -18,9 +18,10 @@ package org.springframework.jdbc.object;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Deque;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import javax.sql.DataSource;
@@ -55,7 +56,7 @@ public class BatchSqlUpdate extends SqlUpdate {
private boolean trackRowsAffected = true;
private final LinkedList<Object[]> parameterQueue = new LinkedList<>();
private final Deque<Object[]> parameterQueue = new ArrayDeque<>();
private final List<Integer> rowsAffected = new ArrayList<>();