Class ArrayList<E>

All Implemented Interfaces:
IndexedList<E>, Iterable<E>, List<E>, Traversable<E>, Iterable<E>

public class ArrayList<E> extends AbstractIndexedList<E>
ArrayList is an IndexedList implementation backed by an array.

WARNING: All modifications copy the entire backing array. ArrayLists should only be used where modifications are infrequent and access times are critical. ArrayList is also compact in memory usage, so may be appropriate for small lists. If there is any doubt regarding access patterns for a List then use a Vector instead.

  • Field Details

  • Constructor Details

    • ArrayList

      public ArrayList()
    • ArrayList

      ArrayList(Object[] elements)
  • Method Details

    • empty

      public static <E> ArrayList<E> empty()
    • factory

      @NotNull public static <E> @NotNull BuilderFactory<E,ArrayList<E>> factory()
    • set

      @NotNull public @NotNull ArrayList<E> set(int i, E elem)
      Description copied from interface: List
      Returns a list with the element set to the value specified at the index (zero-based).
    • append

      @NotNull public @NotNull ArrayList<E> append(E elem)
      Description copied from interface: List
      Returns a list with the specified element appended to the bottom of the list.
    • prepend

      @NotNull public @NotNull ArrayList<E> prepend(E elem)
      Description copied from interface: List
      Returns a list with the specified element prepended to the top of the list.
    • drop

      @NotNull public @NotNull ArrayList<E> drop(int number)
      Description copied from interface: List
      Returns a list containing all elements in this list, excluding the first number of elements.
    • take

      @NotNull public @NotNull ArrayList<E> take(int number)
      Description copied from interface: List
      Returns a list containing the first number of elements from this list.
    • range

      @NotNull public @NotNull ArrayList<E> range(int from, boolean fromInclusive, int to, boolean toInclusive)
      Description copied from interface: List
      Returns a list containing a contiguous range of elements from this list.
      Parameters:
      from - starting index for the range (zero-based)
      fromInclusive - if true, the element at the from index will be included
      to - end index for the range (zero-based)
      toInclusive - if true, the element at the to index will be included
    • get

      public E get(int i)
      Description copied from interface: List
      Returns the element at the specified index in this list (zero-based).
    • first

      @Nullable public E first()
      Description copied from interface: List
      Returns first element in the list or null if the list is empty.
    • last

      @Nullable public E last()
      Description copied from interface: List
      Returns last element in the list or null if the list is empty.
    • tail

      @NotNull public @NotNull List<E> tail()
      Description copied from interface: List
      Returns a list containing all elements in the list, excluding the first element. An empty list is returned if the list is empty.
    • iterator

      @NotNull public @NotNull Iterator<E> iterator()
    • size

      public int size()
      Description copied from interface: Traversable
      Returns the size of the collection.

      Warning: infinite collections are possible, as are collections that require traversal to calculate the size.

      Specified by:
      size in interface Traversable<E>
      Overrides:
      size in class AbstractTraversable<E>
    • isEmpty

      public boolean isEmpty()
      Description copied from interface: Traversable
      Returns true if this collection is empty.
      Specified by:
      isEmpty in interface Traversable<E>
      Overrides:
      isEmpty in class AbstractTraversable<E>