Package org.gradle.util

## Class CollectionUtils

- java.lang.Object
- - org.gradle.util.CollectionUtils

-     @Deprecated
      public abstract class CollectionUtils
      extends Object

  Deprecated.
  Will be removed in Gradle 8.0.
  This class is only here to maintain binary compatibility with existing plugins.

  Plugins should prefer external collection frameworks over this class. Internally, all code should use `CollectionUtils`.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `CollectionUtils.InjectionStep<T,​I>` | Deprecated.
    `static class` | `CollectionUtils.SetDiff<T>` | Deprecated. The result of diffing two sets.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `CollectionUtils()` | Deprecated.

  - ### Method Summary

    All Methods Static Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static <T,​C extends Collection<? super T>> C` | `addAll​(C t1, Iterable<? extends T> t2)` | Deprecated. Utility for adding an iterable to a collection.
    `static <T,​C extends Collection<? super T>> C` | `addAll​(C t1, T... t2)` | Deprecated. Utility for adding an array to a collection.
    `static <T> boolean` | `any​(Iterable<? extends T> source, Spec<? super T> filter)` | Deprecated.
    `static <T> boolean` | `any​(T[] source, Spec<? super T> filter)` | Deprecated.
    `static String` | `asCommandLine​(Iterable<String> arguments)` | Deprecated.
    `static <T> Collection<? extends T>` | `checkedCast​(Class<T> type, Collection<?> input)` | Deprecated.
    `static <R,​I> List<R>` | `collect​(I[] list, Transformer<? extends R,​? super I> transformer)` | Deprecated.
    `static <R,​I,​C extends Collection<R>> C` | `collect​(Iterable<? extends I> source, C destination, Transformer<? extends R,​? super I> transformer)` | Deprecated.
    `static <R,​I> List<R>` | `collect​(Iterable<? extends I> source, Transformer<? extends R,​? super I> transformer)` | Deprecated.
    `static <R,​I> Set<R>` | `collect​(Set<? extends I> set, Transformer<? extends R,​? super I> transformer)` | Deprecated.
    `static <R,​I> R[]` | `collectArray​(I[] list, Class<R> newType, Transformer<? extends R,​? super I> transformer)` | Deprecated.
    `static <R,​I> R[]` | `collectArray​(I[] list, R[] destination, Transformer<? extends R,​? super I> transformer)` | Deprecated.
    `static <K,​V> Map<K,​V>` | `collectMap​(Iterable<? extends V> items, Transformer<? extends K,​? super V> keyGenerator)` | Deprecated. Given a set of values, derive a set of keys and return a map
    `static <K,​V> void` | `collectMap​(Map<K,​V> destination, Iterable<? extends V> items, Transformer<? extends K,​? super V> keyGenerator)` | Deprecated.
    `static <K,​V> Map<K,​V>` | `collectMapValues​(Iterable<? extends K> keys, Transformer<? extends V,​? super K> keyGenerator)` | Deprecated. Given a set of keys, derive a set of values and return a map
    `static <K,​V> void` | `collectMapValues​(Map<K,​V> destination, Iterable<? extends K> keys, Transformer<? extends V,​? super K> keyGenerator)` | Deprecated.
    `static <E> List<E>` | `compact​(List<E> list)` | Deprecated.
    `static <T> CollectionUtils.SetDiff<T>` | `diffSetsBy​(Set<? extends T> left, Set<? extends T> right, Transformer<?,​T> compareBy)` | Deprecated. Provides a “diff report” of how the two sets are similar and how they are different, comparing the entries by some aspect.
    `static <T> boolean` | `every​(Iterable<? extends T> things, Spec<? super T> predicate)` | Deprecated.
    `static <T,​C extends Collection<T>> C` | `filter​(Iterable<? extends T> source, C destination, Spec<? super T> filter)` | Deprecated.
    `static <T> List<T>` | `filter​(List<? extends T> list, Spec<? super T> filter)` | Deprecated.
    `static <K,​V> Map<K,​V>` | `filter​(Map<K,​V> map, Map<K,​V> destination, Spec<Map.Entry<K,​V>> filter)` | Deprecated.
    `static <K,​V> Map<K,​V>` | `filter​(Map<K,​V> map, Spec<Map.Entry<K,​V>> filter)` | Deprecated.
    `static <T> Set<T>` | `filter​(Set<? extends T> set, Spec<? super T> filter)` | Deprecated.
    `static <T> List<T>` | `filter​(T[] array, Spec<? super T> filter)` | Deprecated.
    `static <T> T` | `findFirst​(Iterable<? extends T> source, Spec<? super T> filter)` | Deprecated.
    `static <T> T` | `findFirst​(T[] source, Spec<? super T> filter)` | Deprecated.
    `static <T> T` | `findSingle​(Iterable<T> source)` | Deprecated. Returns null if the collection is empty otherwise expects a `single(Iterable)` element to be found.
    `static <T> T` | `first​(Iterable<? extends T> source)` | Deprecated.
    `static <T> List<T>` | `flattenCollections​(Class<T> type, Object... things)` | Deprecated. Recursively unpacks all the given things into a flat list, ensuring they are of a certain type.
    `static List<?>` | `flattenCollections​(Object... things)` | Deprecated. Recursively unpacks all the given things into a flat list.
    `static <K,​V> Map<K,​Collection<V>>` | `groupBy​(Iterable<? extends V> iterable, Transformer<? extends K,​V> grouper)` | Deprecated.
    `static <T,​I> T` | `inject​(T target, Iterable<? extends I> items, Action<CollectionUtils.InjectionStep<T,​I>> action)` | Deprecated.
    `static <T> List<T>` | `intersection​(Collection<? extends Collection<T>> availableValuesByDescriptor)` | Deprecated.
    `static String` | `join​(String separator, Iterable<?> objects)` | Deprecated. Creates a string with `toString()` of each object with the given separator.
    `static String` | `join​(String separator, Object[] objects)` | Deprecated. Creates a string with `toString()` of each object with the given separator.
    `static <T> List<T>` | `nonEmptyOrNull​(Iterable<T> iterable)` | Deprecated.
    `static <T> org.gradle.internal.Pair<Collection<T>,​Collection<T>>` | `partition​(Iterable<T> items, Spec<? super T> predicate)` | Deprecated. Partition given Collection into a Pair of Collections.
    `static <E> boolean` | `replace​(List<E> list, Spec<? super E> filter, Transformer<? extends E,​? super E> transformer)` | Deprecated.
    `static <T> T` | `single​(Iterable<? extends T> source)` | Deprecated. Returns the single element in the collection or throws.
    `static <T> List<T>` | `sort​(Iterable<? extends T> things, Comparator<? super T> comparator)` | Deprecated. Returns a sorted copy of the provided collection of things.
    `static <T extends Comparable<T>> List<T>` | `sort​(Iterable<T> things)` | Deprecated. Returns a sorted copy of the provided collection of things.
    `static <C extends Collection<String>> C` | `stringize​(Iterable<?> source, C destination)` | Deprecated.
    `static List<String>` | `stringize​(Collection<?> source)` | Deprecated.
    `static <T> List<T>` | `toList​(Iterable<? extends T> things)` | Deprecated.
    `static <T> List<T>` | `toList​(Enumeration<? extends T> things)` | Deprecated.
    `static <T> List<T>` | `toList​(T[] things)` | Deprecated.
    `static <T> Set<T>` | `toSet​(Iterable<? extends T> things)` | Deprecated.
    `static List<String>` | `toStringList​(Iterable<?> iterable)` | Deprecated.
    `static <T> Iterable<? extends T>` | `unpack​(Iterable<? extends org.gradle.internal.Factory<? extends T>> factories)` | Deprecated.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CollectionUtils

          public CollectionUtils()

      Deprecated.

  - ### Method Detail

    - #### findSingle

          @Nullable
          public static <T> T findSingle​(Iterable<T> source)

      Deprecated.
      Returns null if the collection is empty otherwise expects a `single(Iterable)` element to be found.

    - #### single

          public static <T> T single​(Iterable<? extends T> source)

      Deprecated.
      Returns the single element in the collection or throws.

    - #### checkedCast

          public static <T> Collection<? extends T> checkedCast​(Class<T> type,
                                                                Collection<?> input)

      Deprecated.

    - #### findFirst

          @Nullable
          public static <T> T findFirst​(Iterable<? extends T> source,
                                        Spec<? super T> filter)

      Deprecated.

    - #### findFirst

          @Nullable
          public static <T> T findFirst​(T[] source,
                                        Spec<? super T> filter)

      Deprecated.

    - #### first

          public static <T> T first​(Iterable<? extends T> source)

      Deprecated.

    - #### any

          public static <T> boolean any​(Iterable<? extends T> source,
                                        Spec<? super T> filter)

      Deprecated.

    - #### any

          public static <T> boolean any​(T[] source,
                                        Spec<? super T> filter)

      Deprecated.

    - #### filter

          public static <T> Set<T> filter​(Set<? extends T> set,
                                          Spec<? super T> filter)

      Deprecated.

    - #### filter

          public static <T> List<T> filter​(List<? extends T> list,
                                           Spec<? super T> filter)

      Deprecated.

    - #### filter

          public static <T> List<T> filter​(T[] array,
                                           Spec<? super T> filter)

      Deprecated.

    - #### sort

          public static <T> List<T> sort​(Iterable<? extends T> things,
                                         Comparator<? super T> comparator)

      Deprecated.
      Returns a sorted copy of the provided collection of things. Uses the provided comparator to sort.

    - #### sort

          public static <T extends Comparable<T>> List<T> sort​(Iterable<T> things)

      Deprecated.
      Returns a sorted copy of the provided collection of things. Uses the natural ordering of the things.

    - #### filter

          public static <T,​C extends Collection<T>> C filter​(Iterable<? extends T> source,
                                                                   C destination,
                                                                   Spec<? super T> filter)

      Deprecated.

    - #### filter

          public static <K,​V> Map<K,​V> filter​(Map<K,​V> map,
                                                          Spec<Map.Entry<K,​V>> filter)

      Deprecated.

    - #### filter

          public static <K,​V> Map<K,​V> filter​(Map<K,​V> map,
                                                          Map<K,​V> destination,
                                                          Spec<Map.Entry<K,​V>> filter)

      Deprecated.

    - #### collectArray

          public static <R,​I> R[] collectArray​(I[] list,
                                                     Class<R> newType,
                                                     Transformer<? extends R,​? super I> transformer)

      Deprecated.

    - #### collectArray

          public static <R,​I> R[] collectArray​(I[] list,
                                                     R[] destination,
                                                     Transformer<? extends R,​? super I> transformer)

      Deprecated.

    - #### collect

          public static <R,​I> List<R> collect​(I[] list,
                                                    Transformer<? extends R,​? super I> transformer)

      Deprecated.

    - #### collect

          public static <R,​I> Set<R> collect​(Set<? extends I> set,
                                                   Transformer<? extends R,​? super I> transformer)

      Deprecated.

    - #### collect

          public static <R,​I> List<R> collect​(Iterable<? extends I> source,
                                                    Transformer<? extends R,​? super I> transformer)

      Deprecated.

    - #### collect

          public static <R,​I,​C extends Collection<R>> C collect​(Iterable<? extends I> source,
                                                                            C destination,
                                                                            Transformer<? extends R,​? super I> transformer)

      Deprecated.

    - #### toStringList

          public static List<String> toStringList​(Iterable<?> iterable)

      Deprecated.

    - #### flattenCollections

          public static List<?> flattenCollections​(Object... things)

      Deprecated.
      Recursively unpacks all the given things into a flat list. Nulls are not removed, they are left intact.
      Parameters:
        `things` - The things to flatten
      Returns:
        A flattened list of the given things

    - #### flattenCollections

          public static <T> List<T> flattenCollections​(Class<T> type,
                                                       Object... things)

      Deprecated.
      Recursively unpacks all the given things into a flat list, ensuring they are of a certain type. Nulls are not removed, they are left intact. If a non null object cannot be cast to the target type, a ClassCastException will be thrown.
      Type Parameters:
        `T` - The target type in the flattened list
      Parameters:
        `things` - The things to flatten
      Returns:
        A flattened list of the given things

    - #### toList

          public static <T> List<T> toList​(Iterable<? extends T> things)

      Deprecated.

    - #### toList

          public static <T> List<T> toList​(Enumeration<? extends T> things)

      Deprecated.

    - #### intersection

          public static <T> List<T> intersection​(Collection<? extends Collection<T>> availableValuesByDescriptor)

      Deprecated.

    - #### toList

          public static <T> List<T> toList​(T[] things)

      Deprecated.

    - #### toSet

          public static <T> Set<T> toSet​(Iterable<? extends T> things)

      Deprecated.

    - #### compact

          public static <E> List<E> compact​(List<E> list)

      Deprecated.

    - #### stringize

          public static <C extends Collection<String>> C stringize​(Iterable<?> source,
                                                                   C destination)

      Deprecated.

    - #### stringize

          public static List<String> stringize​(Collection<?> source)

      Deprecated.

    - #### replace

          public static <E> boolean replace​(List<E> list,
                                            Spec<? super E> filter,
                                            Transformer<? extends E,​? super E> transformer)

      Deprecated.

    - #### collectMap

          public static <K,​V> void collectMap​(Map<K,​V> destination,
                                                    Iterable<? extends V> items,
                                                    Transformer<? extends K,​? super V> keyGenerator)

      Deprecated.

    - #### collectMap

          public static <K,​V> Map<K,​V> collectMap​(Iterable<? extends V> items,
                                                              Transformer<? extends K,​? super V> keyGenerator)

      Deprecated.
      Given a set of values, derive a set of keys and return a map

    - #### collectMapValues

          public static <K,​V> void collectMapValues​(Map<K,​V> destination,
                                                          Iterable<? extends K> keys,
                                                          Transformer<? extends V,​? super K> keyGenerator)

      Deprecated.

    - #### collectMapValues

          public static <K,​V> Map<K,​V> collectMapValues​(Iterable<? extends K> keys,
                                                                    Transformer<? extends V,​? super K> keyGenerator)

      Deprecated.
      Given a set of keys, derive a set of values and return a map

    - #### every

          public static <T> boolean every​(Iterable<? extends T> things,
                                          Spec<? super T> predicate)

      Deprecated.

    - #### addAll

          public static <T,​C extends Collection<? super T>> C addAll​(C t1,
                                                                           Iterable<? extends T> t2)

      Deprecated.
      Utility for adding an iterable to a collection.
      Type Parameters:
        `T` - The element type of t1
      Parameters:
        `t1` - The collection to add to
        `t2` - The iterable to add each item of to the collection
      Returns:
        t1

    - #### addAll

          public static <T,​C extends Collection<? super T>> C addAll​(C t1,
                                                                           T... t2)

      Deprecated.
      Utility for adding an array to a collection.
      Type Parameters:
        `T` - The element type of t1
      Parameters:
        `t1` - The collection to add to
        `t2` - The iterable to add each item of to the collection
      Returns:
        t1

    - #### diffSetsBy

          public static <T> CollectionUtils.SetDiff<T> diffSetsBy​(Set<? extends T> left,
                                                                  Set<? extends T> right,
                                                                  Transformer<?,​T> compareBy)

      Deprecated.
      Provides a “diff report” of how the two sets are similar and how they are different, comparing the entries by some aspect. The transformer is used to generate the value to use to compare the entries by. That is, the entries are not compared by equals by an attribute or characteristic. The transformer is expected to produce a unique value for each entry in a single set. Behaviour is undefined if this condition is not met.
      Type Parameters:
        `T` - The type of the entry objects
      Parameters:
        `left` - The set on the “left” side of the comparison.
        `right` - The set on the “right” side of the comparison.
        `compareBy` - Provides the value to compare entries from either side by
      Returns:
        A representation of the difference

    - #### join

          public static String join​(String separator,
                                    Object[] objects)

      Deprecated.
      Creates a string with `toString()` of each object with the given separator.

           expect:
           join(",", new Object[]{"a"}) == "a"
           join(",", new Object[]{"a", "b", "c"}) == "a,b,c"
           join(",", new Object[]{}) == ""

      The `separator` must not be null and `objects` must not be null.
      Parameters:
        `separator` - The string by which to join each string representation
        `objects` - The objects to join the string representations of
      Returns:
        The joined string

    - #### join

          public static String join​(String separator,
                                    Iterable<?> objects)

      Deprecated.
      Creates a string with `toString()` of each object with the given separator.

           expect:
           join(",", ["a"]) == "a"
           join(",", ["a", "b", "c"]) == "a,b,c"
           join(",", []) == ""

      The `separator` must not be null and `objects` must not be null.
      Parameters:
        `separator` - The string by which to join each string representation
        `objects` - The objects to join the string representations of
      Returns:
        The joined string

    - #### partition

          public static <T> org.gradle.internal.Pair<Collection<T>,​Collection<T>> partition​(Iterable<T> items,
                                                                                                  Spec<? super T> predicate)

      Deprecated.
      Partition given Collection into a Pair of Collections.

          Left

      Collection containing entries that satisfy the given predicate

          Right

      Collection containing entries that do NOT satisfy the given predicate

    - #### inject

          public static <T,​I> T inject​(T target,
                                             Iterable<? extends I> items,
                                             Action<CollectionUtils.InjectionStep<T,​I>> action)

      Deprecated.

    - #### groupBy

          public static <K,​V> Map<K,​Collection<V>> groupBy​(Iterable<? extends V> iterable,
                                                                       Transformer<? extends K,​V> grouper)

      Deprecated.

    - #### unpack

          public static <T> Iterable<? extends T> unpack​(Iterable<? extends org.gradle.internal.Factory<? extends T>> factories)

      Deprecated.

    - #### nonEmptyOrNull

          @Nullable
          public static <T> List<T> nonEmptyOrNull​(Iterable<T> iterable)

      Deprecated.

    - #### asCommandLine

          public static String asCommandLine​(Iterable<String> arguments)

      Deprecated.