From 98d22782c1c10860cc6a79060da1292b92d6fa9e Mon Sep 17 00:00:00 2001 From: Emmanuel Bigeon Date: Thu, 11 Oct 2018 12:08:59 -0400 Subject: [PATCH] Collections initial size --- .../java/net/bigeon/gclc/command/CommandParameters.java | 7 +++++-- gclc/src/main/java/net/bigeon/gclc/prompt/CLIPrompter.java | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/gclc/src/main/java/net/bigeon/gclc/command/CommandParameters.java b/gclc/src/main/java/net/bigeon/gclc/command/CommandParameters.java index 74c1c3d..04dead6 100644 --- a/gclc/src/main/java/net/bigeon/gclc/command/CommandParameters.java +++ b/gclc/src/main/java/net/bigeon/gclc/command/CommandParameters.java @@ -43,6 +43,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; import net.bigeon.gclc.exception.CommandParsingException; @@ -55,9 +56,9 @@ public final class CommandParameters { /** Number of element for a string argument. */ private static final int STRINGARG_NUMBER_OF_ELEMENTS = 2; /** Boolean arguments. */ - private final Map booleanArguments = new HashMap<>(); + private final Map booleanArguments; /** String arguments. */ - private final Map stringArguments = new HashMap<>(); + private final Map stringArguments; /** Arguments restriction on the named ones. */ private final boolean strict; /** additional (unnamed) parameters. */ @@ -70,9 +71,11 @@ public final class CommandParameters { * @param strict if the argument are restricted to the declared ones */ public CommandParameters(final Set bools, final Set strings, final boolean strict) { + booleanArguments = new ConcurrentHashMap<>(bools.size()); for (final String string : bools) { booleanArguments.put(string, Boolean.FALSE); } + stringArguments = new ConcurrentHashMap<>(strings.size()); for (final String string : strings) { stringArguments.put(string, null); } diff --git a/gclc/src/main/java/net/bigeon/gclc/prompt/CLIPrompter.java b/gclc/src/main/java/net/bigeon/gclc/prompt/CLIPrompter.java index 4fb1952..317fd64 100644 --- a/gclc/src/main/java/net/bigeon/gclc/prompt/CLIPrompter.java +++ b/gclc/src/main/java/net/bigeon/gclc/prompt/CLIPrompter.java @@ -432,7 +432,7 @@ public final class CLIPrompter { final String message) throws IOException { final List indices = promptMultiChoice(manager, input, keys, message); - final List userChoices = new ArrayList<>(); + final List userChoices = new ArrayList<>(indices.size()); for (final Integer integer : indices) { userChoices.add(choices.get(integer.intValue())); } @@ -457,7 +457,7 @@ public final class CLIPrompter { final String message) throws IOException { final List chs = promptMultiChoice(manager, input, choices, message); - final List userChoices = new ArrayList<>(); + final List userChoices = new ArrayList<>(chs.size()); for (final Integer integer : chs) { userChoices.add(choicesMap.get(choices.get(integer.intValue()))); }