Avoid allocating TreeMap in UnknownFieldSet.Builder.asMap

If UnknownFieldSet is empty

PiperOrigin-RevId: 632504647
pull/16781/head
Mark Hansen 9 months ago committed by Copybara-Service
parent 8c6e5b7963
commit 4b7c2d4381
  1. 5
      java/core/src/main/java/com/google/protobuf/UnknownFieldSet.java

@ -483,6 +483,11 @@ public final class UnknownFieldSet implements MessageLite {
* changes may or may not be reflected in this map.
*/
public Map<Integer, Field> asMap() {
// Avoid an allocation for the common case of an empty map.
if (fieldBuilders.isEmpty()) {
return Collections.emptyMap();
}
TreeMap<Integer, Field> fields = new TreeMap<>();
for (Map.Entry<Integer, Field.Builder> entry : fieldBuilders.entrySet()) {
fields.put(entry.getKey(), entry.getValue().build());

Loading…
Cancel
Save