From 9ecc0d7c53b359aa176542501ba25d3edba32344 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Reimar=20D=C3=B6ffinger?= Date: Sun, 10 Dec 2017 22:56:16 +0100 Subject: [PATCH] Use singletonList for better performance. --- .../hughes/android/dictionary/engine/PairEntry.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/com/hughes/android/dictionary/engine/PairEntry.java b/src/com/hughes/android/dictionary/engine/PairEntry.java index d3fb060..1589f9b 100644 --- a/src/com/hughes/android/dictionary/engine/PairEntry.java +++ b/src/com/hughes/android/dictionary/engine/PairEntry.java @@ -25,6 +25,7 @@ import java.io.DataOutput; import java.io.IOException; import java.io.PrintStream; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.regex.Pattern; @@ -47,9 +48,14 @@ public class PairEntry extends AbstractEntry implements RAFSerializable= 7 ? StringUtil.readVarInt(raf) : raf.readInt(); - pairs = new ArrayList(size); - for (int i = 0; i < size; ++i) { - pairs.add(new Pair(raf.readUTF(), raf.readUTF())); + // Use singletonList for better performance in common case + if (size == 1) pairs = Collections.singletonList(new Pair(raf.readUTF(), raf.readUTF())); + else + { + pairs = new ArrayList(size); + for (int i = 0; i < size; ++i) { + pairs.add(new Pair(raf.readUTF(), raf.readUTF())); + } } } -- 2.43.0