You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by da...@apache.org on 2024/10/13 08:31:02 UTC

(jackrabbit-oak) 01/01: OAK-11188 : added api to create treeSet from iterables

This is an automated email from the ASF dual-hosted git repository.

daim pushed a commit to branch OAK-11188
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git

commit 7f7eccb85505f224f47a167de2f3ea3af29c8f0b
Author: Rishabh Kumar <di...@adobe.com>
AuthorDate: Sun Oct 13 14:00:44 2024 +0530

    OAK-11188 : added api to create treeSet from iterables
---
 .../oak/commons/collections/CollectionUtils.java          | 15 +++++++++++++++
 .../jackrabbit/oak/commons/collections/package-info.java  |  2 +-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/collections/CollectionUtils.java b/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/collections/CollectionUtils.java
index f49d0b7908..abe02dbcd0 100644
--- a/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/collections/CollectionUtils.java
+++ b/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/collections/CollectionUtils.java
@@ -27,6 +27,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 import java.util.Set;
+import java.util.TreeSet;
 import java.util.stream.Stream;
 import java.util.stream.StreamSupport;
 
@@ -101,6 +102,20 @@ public class CollectionUtils {
         return result;
     }
 
+    /**
+     * Convert an iterable to a {@link java.util.TreeSet}. The returning set is mutable and supports all optional operations.
+     * @param iterable the iterable to convert
+     * @return the treeSet
+     * @param <T> the type of the elements
+     */
+    @NotNull
+    public static <T extends Comparable> TreeSet<T> toTreeSet(@NotNull  final Iterable<? extends T> iterable) {
+        Objects.requireNonNull(iterable);
+        final TreeSet<T> result = new TreeSet<>();
+        iterable.forEach(result::add);
+        return result;
+    }
+
     /**
      * Convert an iterator to a set. The returning set is mutable and supports all optional operations.
      * @param iterator the iterator to convert
diff --git a/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/collections/package-info.java b/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/collections/package-info.java
index 04c54891f1..11a3fa317b 100644
--- a/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/collections/package-info.java
+++ b/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/collections/package-info.java
@@ -21,7 +21,7 @@
  * Utilities for Java collections and streams.
  */
 @Internal(since = "1.0.0")
-@Version("1.1.0")
+@Version("1.2.0")
 package org.apache.jackrabbit.oak.commons.collections;
 import org.apache.jackrabbit.oak.commons.annotations.Internal;
 import org.osgi.annotation.versioning.Version;