com.github.andrewoma.dexx.collection
Class ArrayList<E>

java.lang.Object
  extended by com.github.andrewoma.dexx.collection.internal.base.AbstractTraversable<E>
      extended by com.github.andrewoma.dexx.collection.internal.base.AbstractIterable<E>
          extended by com.github.andrewoma.dexx.collection.internal.base.AbstractList<E>
              extended by com.github.andrewoma.dexx.collection.internal.base.AbstractIndexedList<E>
                  extended by com.github.andrewoma.dexx.collection.ArrayList<E>
All Implemented Interfaces:
IndexedList<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.


Constructor Summary
ArrayList()
           
 
Method Summary
 ArrayList<E> append(E elem)
          Returns a list with the specified element appended to the bottom of the list.
 ArrayList<E> drop(int number)
          Returns a list containing all elements in this list, excluding the first number of elements.
static
<E> ArrayList<E>
empty()
           
static
<E> BuilderFactory<E,ArrayList<E>>
factory()
           
 E first()
          Returns first element in the list or null if the list is empty.
 E get(int i)
          Returns the element at the specified index in this list (zero-based).
 boolean isEmpty()
          Returns true if this collection is empty.
 Iterator<E> iterator()
           
 E last()
          Returns last element in the list or null if the list is empty.
 ArrayList<E> prepend(E elem)
          Returns a list with the specified element prepended to the top of the list.
 ArrayList<E> range(int from, boolean fromInclusive, int to, boolean toInclusive)
          Returns a list containing a contiguous range of elements from this list.
 ArrayList<E> set(int i, E elem)
          Returns a list with the element set to the value specified at the index (zero-based).
 int size()
          Returns the size of the collection.
 List<E> tail()
          Returns a list containing all elements in the list, excluding the first element.
 ArrayList<E> take(int number)
          Returns a list containing the first number of elements from this list.
 
Methods inherited from class com.github.andrewoma.dexx.collection.internal.base.AbstractList
asList, equals, hashCode, indexOf, lastIndexOf
 
Methods inherited from class com.github.andrewoma.dexx.collection.internal.base.AbstractIterable
forEach
 
Methods inherited from class com.github.andrewoma.dexx.collection.internal.base.AbstractTraversable
makeString, makeString, to, toArray, toArray, toIndexedList, toSet, toSortedSet, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.github.andrewoma.dexx.collection.List
asList, indexOf, lastIndexOf
 
Methods inherited from interface com.github.andrewoma.dexx.collection.Traversable
forEach, makeString, makeString, to, toArray, toArray, toIndexedList, toSet, toSortedSet
 

Constructor Detail

ArrayList

public ArrayList()
Method Detail

empty

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

factory

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

set

@NotNull
public 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 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 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 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 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 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 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 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>


Copyright © 2014. All Rights Reserved.