diff --git a/client/src/com/aerospike/client/lua/LuaList.java b/client/src/com/aerospike/client/lua/LuaList.java index 46f0964b1..9d0e77ac8 100644 --- a/client/src/com/aerospike/client/lua/LuaList.java +++ b/client/src/com/aerospike/client/lua/LuaList.java @@ -112,8 +112,16 @@ public void concat(LuaList list2) { } public LuaList merge(LuaList list2) { - List target = new ArrayList(this.list); - target.addAll(list2.list); + // Pre-size to combined capacity to avoid reallocation when adding + int size1 = this.list.size(); + int size2 = list2.list.size(); + List target = new ArrayList(size1 + size2); + if (size1 > 0) { + target.addAll(this.list); + } + if (size2 > 0) { + target.addAll(list2.list); + } return new LuaList(instance, target); }