From 6dbd6842793640b9b63d0b34f8ebad5f550b4cba Mon Sep 17 00:00:00 2001 From: ali dandach Date: Fri, 4 Aug 2023 00:22:53 +0300 Subject: [PATCH] Optimize collection usage in CGLIB fork Closes gh-30993 --- .../org/springframework/cglib/core/CollectionUtils.java | 7 +------ .../cglib/core/internal/CustomizerRegistry.java | 5 +---- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/spring-core/src/main/java/org/springframework/cglib/core/CollectionUtils.java b/spring-core/src/main/java/org/springframework/cglib/core/CollectionUtils.java index 1590cad0779..0e6834382af 100644 --- a/spring-core/src/main/java/org/springframework/cglib/core/CollectionUtils.java +++ b/spring-core/src/main/java/org/springframework/cglib/core/CollectionUtils.java @@ -52,12 +52,7 @@ public class CollectionUtils { } public static Collection filter(Collection c, Predicate p) { - Iterator it = c.iterator(); - while (it.hasNext()) { - if (!p.evaluate(it.next())) { - it.remove(); - } - } + c.removeIf(o -> !p.evaluate(o)); return c; } diff --git a/spring-core/src/main/java/org/springframework/cglib/core/internal/CustomizerRegistry.java b/spring-core/src/main/java/org/springframework/cglib/core/internal/CustomizerRegistry.java index b05afceab1d..bba568fff7b 100644 --- a/spring-core/src/main/java/org/springframework/cglib/core/internal/CustomizerRegistry.java +++ b/spring-core/src/main/java/org/springframework/cglib/core/internal/CustomizerRegistry.java @@ -22,10 +22,7 @@ public class CustomizerRegistry { Class klass = customizer.getClass(); for (Class type : customizerTypes) { if (type.isAssignableFrom(klass)) { - List list = customizers.get(type); - if (list == null) { - customizers.put(type, list = new ArrayList<>()); - } + List list = customizers.computeIfAbsent(type, k -> new ArrayList<>()); list.add(customizer); } }