Package groovy.util

Class GroovyCollections


  • public class GroovyCollections
    extends Object
    A Collections utility class
    • Constructor Detail

      • GroovyCollections

        public GroovyCollections()
    • Method Detail

      • combinations

        public static List combinations​(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(Iterable)
      • subsequences

        public static <T> Set<List<T>> subsequences​(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 List combinations​(Iterable 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.
        Parameters:
        collections - the Iterable of given collections
        Returns:
        a List of the combinations found
        Since:
        2.2.0
      • transpose

        public static List transpose​(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 List transpose​(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​(Iterable<T> items)
        Selects the minimum value found in an Iterable of items.
        Parameters:
        items - an Iterable
        Returns:
        the minimum value
        Since:
        2.2.0
      • 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​(Iterable<T> items)
        Selects the maximum value found in an Iterable.
        Parameters:
        items - a Collection
        Returns:
        the maximum value
        Since:
        2.2.0
      • sum

        public static Object sum​(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 Object sum​(Iterable<?> items)
        Sums all the given items.
        Parameters:
        items - an Iterable of items
        Returns:
        the sum of the item
        Since:
        2.2.0