public class GroovyCollections extends Object
A Collections utility class
Type Params | Return Type | Name and description |
---|---|---|
|
public static List |
combinations(Object[] collections) Finds all combinations of items from the given collections. |
|
public static List |
combinations(Iterable collections) Finds all combinations of items from the given Iterable aggregate of collections. |
<T> |
public static List<List<T>> |
inits(Iterable<T> collections) |
<T> |
public static T |
max(T[] items) Selects the maximum value found in an array of items, so max([2, 4, 6] as Object[]) == 6. |
<T> |
public static T |
max(Iterable<T> items) Selects the maximum value found in an Iterable. |
<T> |
public static T |
min(T[] items) Selects the minimum value found in an array of items, so min([2, 4, 6] as Object[]) == 2. |
<T> |
public static T |
min(Iterable<T> items) Selects the minimum value found in an Iterable of items. |
<T> |
public static Set<List<T>> |
subsequences(List<T> items) Finds all non-null subsequences of a list. |
|
public static Object |
sum(Object[] items) Sums all the items from an array of items. |
|
public static Object |
sum(Iterable<?> items) Sums all the given items. |
<T> |
public static List<List<T>> |
tails(Iterable<T> collections) |
|
public static List |
transpose(Object[] lists) Transposes an array of lists. |
|
public static List |
transpose(List lists) Transposes the given lists. |
<T> |
public static List<T> |
union(Iterable<T> iterables) Returns an ordered set of all the unique items found in the provided argument iterables. |
<T> |
public static List<T> |
union(List<Iterable<T>> iterables) Returns an ordered set of all the unique items found in the provided argument iterables. |
<T> |
public static List<T> |
union(Comparator<T> comparator, Iterable<T> iterables) Returns an ordered set of all the unique items found in the provided argument iterables using the provided comparator to compare items. |
<T> |
public static List<T> |
union(List<Iterable<T>> iterables, Comparator<T> comparator) Returns an ordered set of all the unique items found in the provided argument iterables using the provided comparator to compare items. |
<T> |
public static List<T> |
union(Closure condition, Iterable<T> iterables) Returns an ordered set of all the unique items found in the provided argument iterables using the provided closure to compare items. |
<T> |
public static List<T> |
union(List<Iterable<T>> iterables, Closure condition) Returns an ordered set of all the unique items found in the provided argument iterables using the provided closure to compare items. |
Finds all combinations of items from the given collections.
collections
- the given collections Finds all combinations of items from the given Iterable aggregate of 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']]
.
If an empty collection is found within the given collections, the result will be an empty list.
collections
- the Iterable of given collectionsSelects the maximum value found in an array of items, so max([2, 4, 6] as Object[]) == 6.
items
- an array of itemsSelects the maximum value found in an Iterable.
items
- a CollectionSelects the minimum value found in an array of items, so min([2, 4, 6] as Object[]) == 2.
items
- an array of itemsSelects the minimum value found in an Iterable of items.
items
- an Iterable 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]]
items
- the List of itemsSums all the items from an array of items.
items
- an array of itemsSums all the given items.
items
- an Iterable of itemsTransposes an array of lists.
lists
- the given 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']]
.
lists
- the given listsReturns an ordered set of all the unique items found in the provided argument iterables.
assert GroovyCollections.union([1, 2], [2, 3], [1, 4]) == [1, 2, 3, 4]
iterables
- the sources of itemsReturns an ordered set of all the unique items found in the provided argument iterables.
assert GroovyCollections.union([[1, 2], [2, 3], [1, 4]]) == [1, 2, 3, 4]
iterables
- the list of source itemsReturns an ordered set of all the unique items found in the provided argument iterables using the provided comparator to compare items.
assert GroovyCollections.union(n -> n.abs(), [1, 2, 5], [-3, -4, -5], [4, 6]) == [1, 2, 5, -3, -4, 6] assert GroovyCollections.union(n -> n.trunc(), [1.1, 2.2], [2.5, 3.3], [3.9, 4.1]) == [1.1, 2.2, 3.3, 4.1] assert GroovyCollections.union(w -> w.toUpperCase(), ['a', 'A'], ['B', 'a', 'c', 'b']) == ['a', 'B', 'c']
comparator
- a Comparatoriterables
- the sources of itemsReturns an ordered set of all the unique items found in the provided argument iterables using the provided comparator to compare items.
assert GroovyCollections.union([[1, 2, 5], [-3, -4, -5], [4, 6]], n -> n.abs()) == [1, 2, 5, -3, -4, 6] assert GroovyCollections.union([[1.1, 2.2], [2.5, 3.3], [3.9, 4.1]], n -> n.trunc()) == [1.1, 2.2, 3.3, 4.1] assert GroovyCollections.union([['a', 'A'], ['B', 'a', 'c', 'b']], w -> w.toUpperCase()) == ['a', 'B', 'c']
iterables
- the list of source itemscomparator
- a ComparatorReturns an ordered set of all the unique items found in the provided argument iterables using the provided closure to compare items.
def abs = { n -> n.abs() } assert GroovyCollections.union(abs, [1, 2, 5], [-3, -4, -5], [4, 6]) == [1, 2, 5, -3, -4, 6]
condition
- a Closure used to determine unique itemsiterables
- the sources of itemsReturns an ordered set of all the unique items found in the provided argument iterables using the provided closure to compare items.
assert GroovyCollections.union([[1, 2, 5], [-3, -4, -5], [4, 6]]){ n -> n.abs() } == [1, 2, 5, -3, -4, 6]
iterables
- the list of source itemscondition
- a Closure used to determine unique items