Class UList

java.lang.Object
ushiosan.jvm.collections.UList

public final class UList extends Object
  • Method Details

    • make

      @SafeVarargs @Contract(pure=true) public static <T> @Unmodifiable List<T> make(T @NotNull ... elements)
      Create an immutable list with all given elements.
      Type Parameters:
      T - generic type list
      Parameters:
      elements - the elements to insert
      Returns:
      an immutable list with all elements
    • make

      public static <T> @Unmodifiable List<T> make(@NotNull @NotNull Collection<T> base)
      Create an immutable list with all given elements.
      Type Parameters:
      T - generic type list
      Parameters:
      base - the base collection content
      Returns:
      an immutable list with all elements
    • make

      @NotNull public static <T> @Unmodifiable @NotNull List<T> make(@NotNull @NotNull Iterator<T> iterator)
      Create an immutable list with all given elements.
      Type Parameters:
      T - generic type list
      Parameters:
      iterator - the base collection content
      Returns:
      an immutable list with all elements
    • makeMutable

      @SafeVarargs @Contract("_ -> new") @NotNull public static <T> @NotNull List<T> makeMutable(T @NotNull ... elements)
      Create a mutable list with all given elements.
      Type Parameters:
      T - generic type list
      Parameters:
      elements - the elements to insert
      Returns:
      a mutable list with all elements
    • makeMutable

      @NotNull public static <T> @NotNull List<T> makeMutable(@NotNull @NotNull Collection<T> base)
      Create a mutable list with all given elements.
      Type Parameters:
      T - generic type list
      Parameters:
      base - the base collection content
      Returns:
      a mutable list with all elements
    • makeMutable

      @NotNull public static <T> @NotNull List<T> makeMutable(@NotNull @NotNull Iterator<T> iterator)
      Create a mutable list with all given elements.
      Type Parameters:
      T - generic type list
      Parameters:
      iterator - the base collection content
      Returns:
      a mutable list with all elements
    • makeLinked

      @SafeVarargs @NotNull public static <T> @NotNull List<T> makeLinked(T @NotNull ... elements)
      Create a linked list with all given elements.
      Type Parameters:
      T - generic type list
      Parameters:
      elements - the elements to insert
      Returns:
      a linked list with all elements
    • makeLinked

      @NotNull public static <T> @NotNull List<T> makeLinked(@NotNull @NotNull Collection<T> base)
      Create a linked list with all given elements.
      Type Parameters:
      T - generic type list
      Parameters:
      base - the base collection content
      Returns:
      a linked list with all elements
    • makeLinked

      @NotNull public static <T> @NotNull List<T> makeLinked(@NotNull @NotNull Iterator<T> iterator)
      Create a linked list with all given elements.
      Type Parameters:
      T - generic type list
      Parameters:
      iterator - the base collection content
      Returns:
      a linked list with all elements
    • searchIndexes

      @NotNull public static <T> @NotNull List<Integer> searchIndexes(@NotNull @NotNull List<T> base, @Nullable T search)
      Returns all indices where the searched element is found
      Type Parameters:
      T - generic object type
      Parameters:
      base - the base list
      search - the object to search
      Returns:
      all indices where the searched object is found
    • transform

      @NotNull public static <T, R> @NotNull List<R> transform(@NotNull @NotNull List<T> original, @NotNull @NotNull Function<T,R> mapper)
      Converts one list to another but with a different data type.
      Type Parameters:
      T - the original data type
      R - the target data type
      Parameters:
      original - the original list that you want to convert
      mapper - function in charge of transforming each element of the list
      Returns:
      the new list with the converted data
    • isUnmodifiable

      public static boolean isUnmodifiable(@NotNull @NotNull Collection<?> collection)
      Check if the inspected collection supports the modification of its data
      Parameters:
      collection - the collection of data you want to inspect
      Returns:
      true if the collection is immutable or false otherwise
    • isUnmodifiable

      public static boolean isUnmodifiable(@NotNull @NotNull Map<?,?> map)
      Check if the inspected collection supports the modification of its data
      Parameters:
      map - the map of data you want to inspect
      Returns:
      true if the collection is immutable or false otherwise
    • combine

      @SafeVarargs @NotNull public static <T> @NotNull Collection<T> combine(boolean excludeDuplicates, List<T> @NotNull ... lts)
      Combine different lists into a single collection
      Type Parameters:
      T - generic collection type
      Parameters:
      excludeDuplicates - remove all duplicate items
      lts - the lists you want to merge
      Returns:
      returns a single collection with all the elements of the passed lists
    • combine

      @SafeVarargs @NotNull public static <T> @NotNull Collection<T> combine(List<T> @NotNull ... lts)
      Combine different lists into a single collection
      Type Parameters:
      T - generic collection type
      Parameters:
      lts - the lists you want to merge
      Returns:
      returns a single collection with all the elements of the passed lists