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

    • CollectionUtils

      public CollectionUtils()
  • Method Details

    • concat

      @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

      @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

      @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

      @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

      @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

      @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

      @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

      @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

      @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

      @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