From a18086f23be65370e36c90cc5dd213b9ec0b1b3e Mon Sep 17 00:00:00 2001 From: Gary Gregory Date: Tue, 28 Sep 2021 10:25:49 -0400 Subject: [PATCH] Reimplement SortedProperties#keys() a la Java 8. Use final. --- .../collections4/properties/SortedProperties.java | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/apache/commons/collections4/properties/SortedProperties.java b/src/main/java/org/apache/commons/collections4/properties/SortedProperties.java index 7a36d80ae..3ccb2e14f 100644 --- a/src/main/java/org/apache/commons/collections4/properties/SortedProperties.java +++ b/src/main/java/org/apache/commons/collections4/properties/SortedProperties.java @@ -26,6 +26,7 @@ import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set; +import java.util.stream.Collectors; import org.apache.commons.collections4.iterators.IteratorEnumeration; @@ -43,21 +44,15 @@ public class SortedProperties extends Properties { @Override public synchronized Enumeration keys() { - final Set keySet = keySet(); - final List keys = new ArrayList<>(keySet.size()); - for (final Object key : keySet) { - keys.add(key.toString()); - } - Collections.sort(keys); - return new IteratorEnumeration<>(keys.iterator()); + return new IteratorEnumeration<>(keySet().stream().map(Object::toString).sorted().collect(Collectors.toList()).iterator()); } @Override public Set> entrySet() { - Enumeration keys = keys(); - Set> entrySet = new LinkedHashSet<>(); + final Enumeration keys = keys(); + final Set> entrySet = new LinkedHashSet<>(); while (keys.hasMoreElements()) { - Object key = keys.nextElement(); + final Object key = keys.nextElement(); entrySet.add(new AbstractMap.SimpleEntry<>(key, getProperty((String) key))); } return entrySet;