You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2024/10/05 21:09:13 UTC
(commons-collections) 01/02: Internal refactoring
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-collections.git
commit 80429d43032fa642a3802bb786a0272d38cb7ac4
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Sat Oct 5 16:52:22 2024 -0400
Internal refactoring
---
.../apache/commons/collections4/IteratorUtils.java | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/apache/commons/collections4/IteratorUtils.java b/src/main/java/org/apache/commons/collections4/IteratorUtils.java
index 10e244544..89b6ed69d 100644
--- a/src/main/java/org/apache/commons/collections4/IteratorUtils.java
+++ b/src/main/java/org/apache/commons/collections4/IteratorUtils.java
@@ -659,6 +659,7 @@ public class IteratorUtils {
* Finds the first element in the given iterator which matches the given predicate.
* <p>
* A {@code null} or empty iterator returns null.
+ * </p>
*
* @param <E> the element type
* @param iterator the iterator to search, may be null
@@ -668,8 +669,24 @@ public class IteratorUtils {
* @since 4.1
*/
public static <E> E find(final Iterator<E> iterator, final Predicate<? super E> predicate) {
- Objects.requireNonNull(predicate, "predicate");
+ return find(iterator, predicate, null);
+ }
+ /**
+ * Finds the first element in the given iterator which matches the given predicate.
+ * <p>
+ * A {@code null} or empty iterator returns {@code defaultValue}.
+ * </p>
+ *
+ * @param <E> the element type.
+ * @param iterator the iterator to search, may be null.
+ * @param predicate the predicate to use, must not be null.
+ * @param defaultValue the default value, may be null.
+ * @return the first element of the iterator which matches the predicate or null if none could be found.
+ * @throws NullPointerException if predicate is null.
+ */
+ private static <E> E find(final Iterator<E> iterator, final Predicate<? super E> predicate, final E defaultValue) {
+ Objects.requireNonNull(predicate, "predicate");
if (iterator != null) {
while (iterator.hasNext()) {
final E element = iterator.next();
@@ -678,7 +695,7 @@ public class IteratorUtils {
}
}
}
- return null;
+ return defaultValue;
}
/**