From a5f67cba403fa7dd31bc1a39a8e9c7e3eabc2d00 Mon Sep 17 00:00:00 2001 From: Hyunwoo Jung Date: Tue, 8 Sep 2026 16:39:41 +0900 Subject: [PATCH] Avoid redundant filtering in FilteredMap.size() Since keySet() already applies the filter, size() evaluated the predicate twice for every accepted key. This commit uses delegate.keySet() instead, avoiding the second evaluation as well as a FilteredSet and FilteredIterator allocation. Signed-off-by: Hyunwoo Jung --- .../src/main/java/org/springframework/util/FilteredMap.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-core/src/main/java/org/springframework/util/FilteredMap.java b/spring-core/src/main/java/org/springframework/util/FilteredMap.java index 57200d9baeb0..1c8f8eb0eac3 100644 --- a/spring-core/src/main/java/org/springframework/util/FilteredMap.java +++ b/spring-core/src/main/java/org/springframework/util/FilteredMap.java @@ -56,7 +56,7 @@ public Set> entrySet() { @Override public int size() { int size = 0; - for (K k : keySet()) { + for (K k : this.delegate.keySet()) { if (this.filter.test(k)) { size++; }