groovy.util

## Class GroovyCollections

- java.lang.Object
- - groovy.util.GroovyCollections

    public class GroovyCollections
    extends java.lang.Object

A Collections utility class

### Constructor Summary

Constructors
Constructor and Description
`GroovyCollections()`

### Method Summary

Methods
`static java.util.List` `combinations(java.util.Collection collections)` Finds all combinations of items from the given collections.
`static java.util.List` `combinations(java.lang.Object[] collections)` Finds all combinations of items from the given collections.
`static <T> T` `max(java.util.Collection<T> items)` Selects the maximum value found in a collection
`static <T> T` `max(T[] items)` Selects the maximum value found in an array of items, so min([2, 4, 6] as Object[]) == 6.
`static <T> T` `min(java.util.Collection<T> items)` Selects the minimum value found in a collection of items.
`static <T> T` `min(T[] items)` Selects the minimum value found in an array of items, so min([2, 4, 6] as Object[]) == 2.
`static <T> java.util.Set<java.util.List<T>>` `subsequences(java.util.List<T> items)` Finds all non-null subsequences of a list.
`static java.lang.Object` `sum(java.util.Collection items)` Sums all the items from a collection of items.
`static java.lang.Object` `sum(java.lang.Object[] items)` Sums all the items from an array of items.
`static java.util.List` `transpose(java.util.List lists)` Transposes the given lists.
`static java.util.List` `transpose(java.lang.Object[] lists)` Transposes an array of lists.

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

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

### Constructor Detail

#### GroovyCollections

    public GroovyCollections()

### Method Detail

#### combinations

    public static java.util.List combinations(java.lang.Object[] collections)

Finds all combinations of items from the given collections.

Parameters:
  `collections` - the given collections
Returns:
  a List of the combinations found
See Also:
  `combinations(Collection)`

#### subsequences

    public static <T> java.util.Set<java.util.List<T>> subsequences(java.util.List<T> items)

Finds all non-null subsequences of a list. E.g. `subsequences([1, 2, 3])` would be: [[1, 2, 3], [1, 3], [2, 3], [1, 2], [1], [2], [3]]

Parameters:
  `items` - the List of items
Returns:
  the subsequences from items

#### combinations

    public static java.util.List combinations(java.util.Collection collections)

Finds all combinations of items from the given collections. So, `combinations([[true, false], [true, false]])` is `[[true, true], [false, true], [true, false], [false, false]]` and `combinations([['a', 'b'],[1, 2, 3]])` is `[['a', 1], ['b', 1], ['a', 2], ['b', 2], ['a', 3], ['b', 3]]`. If a non-collection item is given, it is treated as a singleton collection, i.e. `combinations([[1, 2], 'x'])` is `[[1, 'x'], [2, 'x']]`.

Parameters:
  `collections` - the given collections
Returns:
  a List of the combinations found

#### transpose

    public static java.util.List transpose(java.lang.Object[] lists)

Transposes an array of lists.

Parameters:
  `lists` - the given lists
Returns:
  a List of the transposed lists
See Also:
  `transpose(List)`

#### transpose

    public static java.util.List transpose(java.util.List lists)

Transposes the given lists. So, `transpose([['a', 'b'], [1, 2]])` is `[['a', 1], ['b', 2]]` and `transpose([['a', 'b', 'c']])` is `[['a'], ['b'], ['c']]`.

Parameters:
  `lists` - the given lists
Returns:
  a List of the transposed lists

#### min

    public static <T> T min(T[] items)

Selects the minimum value found in an array of items, so min([2, 4, 6] as Object[]) == 2.

Parameters:
  `items` - an array of items
Returns:
  the minimum value

#### min

    public static <T> T min(java.util.Collection<T> items)

Selects the minimum value found in a collection of items.

Parameters:
  `items` - a Collection
Returns:
  the minimum value

#### max

    public static <T> T max(T[] items)

Selects the maximum value found in an array of items, so min([2, 4, 6] as Object[]) == 6.

Parameters:
  `items` - an array of items
Returns:
  the maximum value

#### max

    public static <T> T max(java.util.Collection<T> items)

Selects the maximum value found in a collection

Parameters:
  `items` - a Collection
Returns:
  the maximum value

#### sum

    public static java.lang.Object sum(java.lang.Object[] items)

Sums all the items from an array of items.

Parameters:
  `items` - an array of items
Returns:
  the sum of the items

#### sum

    public static java.lang.Object sum(java.util.Collection items)

Sums all the items from a collection of items.

Parameters:
  `items` - a collection of items
Returns:
  the sum of the items