Class CollectionUtils

java.lang.Object
it.tidalwave.util.CollectionUtils

public final class CollectionUtils extends Object
This class contains a bunch of utility methods for manipulating lists.
Since:
3.2-ALPHA-13
Author:
Fabrizio Giudici
Status: stable API
  • Constructor Details Link icon

    • CollectionUtils Link icon

      public CollectionUtils()
  • Method Details Link icon

    • concat Link icon

      @Nonnull public static <T> List<T> concat(@Nonnull List<? extends T> list, @Nonnull T object)
      Appends a list to an object. The resulting list is mutable.
      Type Parameters:
      T - the type of list items
      Parameters:
      list - the list
      object - the list to append
      Returns:
      the list with the appended object
    • concatAll Link icon

      @Nonnull @SafeVarargs public static <T> List<T> concatAll(@Nonnull Collection<? extends T>... collections)
      Returns a concatenation of the given Collections.
      Type Parameters:
      T - the static type
      Parameters:
      collections - the input collections
      Returns:
      the concatenation
    • reversed Link icon

      @Nonnull public static <T> List<T> reversed(@Nonnull List<? extends T> list)
      Reverses a list. The resulting list is mutable.
      Type Parameters:
      T - the type of list items
      Parameters:
      list - the list
      Returns:
      the reversed list
    • sorted Link icon

      @Nonnull public static <T extends Comparable<? super T>> List<T> sorted(@Nonnull List<? extends T> list)
      Sorts a list. The resulting list is mutable.
      Type Parameters:
      T - the type of list items
      Parameters:
      list - the list
      Returns:
      the sorted list
      Since:
      3.2-ALPHA-13
    • sorted Link icon

      @Nonnull public static <T> List<T> sorted(@Nonnull List<? extends T> list, @Nonnull Comparator<? super T> comparator)
      Sorts a list with a given Comparator. The resulting list is mutable.
      Type Parameters:
      T - the type of list items
      Parameters:
      list - the list
      comparator - the comparator
      Returns:
      the sorted list
      Since:
      3.2-ALPHA-13
    • optionalHead Link icon

      @Nonnull public static <T> Optional<T> optionalHead(@Nonnull List<? extends T> list)
      Returns the (optional) first element of a list.
      Type Parameters:
      T - the type of list items
      Parameters:
      list - the list
      Returns:
      the first element
    • head Link icon

      @Nonnull public static <T> T head(@Nonnull List<? extends T> list)
      Returns the first element of a list.
      Type Parameters:
      T - the type of list items
      Parameters:
      list - the list (cannot be empty)
      Returns:
      the first element
      Throws:
      IllegalArgumentException - if the list is empty
    • tail Link icon

      @Nonnull public static <T> List<T> tail(@Nonnull List<? extends T> list)
      Returns the tail element of a list, that is a list without the first element. The tail of an empty list is an empty list. The resulting list is mutable.
      Type Parameters:
      T - the type of list items
      Parameters:
      list - the list
      Returns:
      the tail of the list
    • safeSubList Link icon

      @Nonnull public static <T> List<T> safeSubList(@Nonnull List<? extends T> list, int from, int to)
      Return a sublist of the original List, from the given from and to index (not included). If the from index is negative and/or the to index is lower than the from index or if an attempt is made to read before the start or past the end of the list, truncation silently occurs.
      Type Parameters:
      T - the static type
      Parameters:
      list - the original list
      from - the first index (included)
      to - the last index (excluded)
      Returns:
      the sublist
      Since:
      3.2-ALPHA-17
    • split Link icon

      @Nonnull public static <T> List<List<T>> split(@Nonnull List<? extends T> list, int... boundaries)
      Splits a given List at a set of boundaries. Each boundary is the starting point of a sublist to be returned.
      Type Parameters:
      T - the static type
      Parameters:
      list - the original list
      boundaries - the boundaries
      Returns:
      a list of sublists
      Since:
      3.2-ALPHA-17