Skip to content

Commit 5ee0d7b

Browse files
l46kokcopybara-github
authored andcommitted
Instantiate List/Map values with expected size
PiperOrigin-RevId: 832021501
1 parent d8fb286 commit 5ee0d7b

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

common/src/main/java/dev/cel/common/values/CelValueConverter.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ public Object fromCelValueToJavaObject(CelValue celValue) {
4141

4242
if (celValue instanceof MapValue) {
4343
MapValue<CelValue, CelValue> mapValue = (MapValue<CelValue, CelValue>) celValue;
44-
ImmutableMap.Builder<Object, Object> mapBuilder = ImmutableMap.builder();
44+
ImmutableMap.Builder<Object, Object> mapBuilder =
45+
ImmutableMap.builderWithExpectedSize(mapValue.size());
4546
for (Entry<CelValue, CelValue> entry : mapValue.value().entrySet()) {
4647
Object key = fromCelValueToJavaObject(entry.getKey());
4748
Object value = fromCelValueToJavaObject(entry.getValue());
@@ -51,7 +52,8 @@ public Object fromCelValueToJavaObject(CelValue celValue) {
5152
return mapBuilder.buildOrThrow();
5253
} else if (celValue instanceof ListValue) {
5354
ListValue<CelValue> listValue = (ListValue<CelValue>) celValue;
54-
ImmutableList.Builder<Object> listBuilder = ImmutableList.builder();
55+
ImmutableList.Builder<Object> listBuilder =
56+
ImmutableList.builderWithExpectedSize(listValue.size());
5557
for (CelValue element : listValue.value()) {
5658
listBuilder.add(fromCelValueToJavaObject(element));
5759
}

0 commit comments

Comments
 (0)