public class

ArrayList

extends AbstractList<E>
implements Serializable Cloneable RandomAccess
java.lang.Object
   ↳ java.util.AbstractCollection<E>
     ↳ java.util.AbstractList<E>
       ↳ java.util.ArrayList<E>

Class Overview

ArrayList is an implementation of List, backed by an array. All optional operations including adding, removing, and replacing elements are supported.

All elements are permitted, including null.

This class is a good choice as your default List implementation. Vector synchronizes all operations, but not necessarily in a way that's meaningful to your application: synchronizing each call to get, for example, is not equivalent to synchronizing the list and iterating over it (which is probably what you intended). CopyOnWriteArrayList is intended for the special case of very high concurrency, frequent traversals, and very rare mutations.

Summary

[Expand]
Inherited Fields
From class java.util.AbstractList
Public Constructors
ArrayList(int capacity)
Constructs a new instance of ArrayList with the specified initial capacity.
ArrayList()
Constructs a new ArrayList instance with zero initial capacity.
ArrayList(Collection<? extends E> collection)
Constructs a new instance of ArrayList containing the elements of the specified collection.
Public Methods
boolean add(E object)
Adds the specified object at the end of this ArrayList.
void add(int index, E object)
Inserts the specified object into this ArrayList at the specified location.
boolean addAll(Collection<? extends E> collection)
Adds the objects in the specified collection to this ArrayList.
boolean addAll(int index, Collection<? extends E> collection)
Inserts the objects in the specified collection at the specified location in this List.
void clear()
Removes all elements from this ArrayList, leaving it empty.
Object clone()
Returns a new ArrayList with the same elements, the same size and the same capacity as this ArrayList.
boolean contains(Object object)
Searches this ArrayList for the specified object.
void ensureCapacity(int minimumCapacity)
Ensures that after this operation the ArrayList can hold the specified number of elements without further growing.
boolean equals(Object o)
Compares the specified object to this list and return true if they are equal.
E get(int index)
Returns the element at the specified location in this list.
int hashCode()
Returns the hash code of this list.
int indexOf(Object object)
Searches this list for the specified object and returns the index of the first occurrence.
boolean isEmpty()
Returns if this Collection contains no elements.
Iterator<E> iterator()
Returns an iterator on the elements of this list.
int lastIndexOf(Object object)
Searches this list for the specified object and returns the index of the last occurrence.
E remove(int index)
Removes the object at the specified location from this list.
boolean remove(Object object)
Removes one instance of the specified object from this Collection if one is contained (optional).
E set(int index, E object)
Replaces the element at the specified location in this ArrayList with the specified object.
int size()
Returns the number of elements in this ArrayList.
<T> T[] toArray(T[] contents)
Returns an array containing all elements contained in this ArrayList.
Object[] toArray()
Returns a new array containing all elements contained in this ArrayList.
void trimToSize()
Sets the capacity of this ArrayList to be the same as the current size.
Protected Methods
void removeRange(int fromIndex, int toIndex)
Removes the objects in the specified range from the start to the end index minus one.
[Expand]
Inherited Methods
From class java.util.AbstractList
From class java.util.AbstractCollection
From class java.lang.Object
From interface java.lang.Iterable
From interface java.util.Collection
From interface java.util.List

Public Constructors

public ArrayList (int capacity)

Since: API Level 1

Constructs a new instance of ArrayList with the specified initial capacity.

Parameters
capacity the initial capacity of this ArrayList.

public ArrayList ()

Since: API Level 1

Constructs a new ArrayList instance with zero initial capacity.

public ArrayList (Collection<? extends E> collection)

Since: API Level 1

Constructs a new instance of ArrayList containing the elements of the specified collection.

Parameters
collection the collection of elements to add.

Public Methods

public boolean add (E object)

Since: API Level 1

Adds the specified object at the end of this ArrayList.

Parameters
object the object to add.
Returns
  • always true

public void add (int index, E object)

Since: API Level 1

Inserts the specified object into this ArrayList at the specified location. The object is inserted before any previous element at the specified location. If the location is equal to the size of this ArrayList, the object is added at the end.

Parameters
index the index at which to insert the object.
object the object to add.
Throws
IndexOutOfBoundsException when location < 0 || > size()

public boolean addAll (Collection<? extends E> collection)

Since: API Level 1

Adds the objects in the specified collection to this ArrayList.

Parameters
collection the collection of objects.
Returns
  • true if this ArrayList is modified, false otherwise.

public boolean addAll (int index, Collection<? extends E> collection)

Since: API Level 1

Inserts the objects in the specified collection at the specified location in this List. The objects are added in the order they are returned from the collection's iterator.

Parameters
index the index at which to insert.
collection the collection of objects.
Returns
  • true if this ArrayList is modified, false otherwise.
Throws
IndexOutOfBoundsException when location < 0 || > size()

public void clear ()

Since: API Level 1

Removes all elements from this ArrayList, leaving it empty.

See Also

public Object clone ()

Since: API Level 1

Returns a new ArrayList with the same elements, the same size and the same capacity as this ArrayList.

Returns
  • a shallow copy of this ArrayList
See Also

public boolean contains (Object object)

Since: API Level 1

Searches this ArrayList for the specified object.

Parameters
object the object to search for.
Returns
  • true if object is an element of this ArrayList, false otherwise

public void ensureCapacity (int minimumCapacity)

Since: API Level 1

Ensures that after this operation the ArrayList can hold the specified number of elements without further growing.

Parameters
minimumCapacity the minimum capacity asked for.

public boolean equals (Object o)

Since: API Level 1

Compares the specified object to this list and return true if they are equal. Two lists are equal when they both contain the same objects in the same order.

Parameters
o the object to compare to this object.
Returns
  • true if the specified object is equal to this list, false otherwise.

public E get (int index)

Since: API Level 1

Returns the element at the specified location in this list.

Parameters
index the index of the element to return.
Returns
  • the element at the specified index.

public int hashCode ()

Since: API Level 1

Returns the hash code of this list. The hash code is calculated by taking each element's hashcode into account.

Returns
  • the hash code.

public int indexOf (Object object)

Since: API Level 1

Searches this list for the specified object and returns the index of the first occurrence.

Parameters
object the object to search for.
Returns
  • the index of the first occurrence of the object, or -1 if it was not found.

public boolean isEmpty ()

Since: API Level 1

Returns if this Collection contains no elements. This implementation tests, whether size returns 0.

Returns
  • true if this Collection has no elements, false otherwise.

public Iterator<E> iterator ()

Since: API Level 1

Returns an iterator on the elements of this list. The elements are iterated in the same order as they occur in the list.

Returns
  • an iterator on the elements of this list.

public int lastIndexOf (Object object)

Since: API Level 1

Searches this list for the specified object and returns the index of the last occurrence.

Parameters
object the object to search for.
Returns
  • the index of the last occurrence of the object, or -1 if the object was not found.

public E remove (int index)

Since: API Level 1

Removes the object at the specified location from this list.

Parameters
index the index of the object to remove.
Returns
  • the removed object.
Throws
IndexOutOfBoundsException when location < 0 || >= size()

public boolean remove (Object object)

Since: API Level 1

Removes one instance of the specified object from this Collection if one is contained (optional). This implementation iterates over this Collection and tests for each element e returned by the iterator, whether e is equal to the given object. If object != null then this test is performed using object.equals(e), otherwise using object == null. If an element equal to the given object is found, then the remove method is called on the iterator and true is returned, false otherwise. If the iterator does not support removing elements, an UnsupportedOperationException is thrown.

Parameters
object the object to remove.
Returns
  • true if this Collection is modified, false otherwise.

public E set (int index, E object)

Since: API Level 1

Replaces the element at the specified location in this ArrayList with the specified object.

Parameters
index the index at which to put the specified object.
object the object to add.
Returns
  • the previous element at the index.
Throws
IndexOutOfBoundsException when location < 0 || >= size()

public int size ()

Since: API Level 1

Returns the number of elements in this ArrayList.

Returns
  • the number of elements in this ArrayList.

public T[] toArray (T[] contents)

Since: API Level 1

Returns an array containing all elements contained in this ArrayList. If the specified array is large enough to hold the elements, the specified array is used, otherwise an array of the same type is created. If the specified array is used and is larger than this ArrayList, the array element following the collection elements is set to null.

Parameters
contents the array.
Returns
  • an array of the elements from this ArrayList.
Throws
ArrayStoreException when the type of an element in this ArrayList cannot be stored in the type of the specified array.

public Object[] toArray ()

Since: API Level 1

Returns a new array containing all elements contained in this ArrayList.

Returns
  • an array of the elements from this ArrayList

public void trimToSize ()

Since: API Level 1

Sets the capacity of this ArrayList to be the same as the current size.

See Also

Protected Methods

protected void removeRange (int fromIndex, int toIndex)

Since: API Level 1

Removes the objects in the specified range from the start to the end index minus one.

Parameters
fromIndex the index at which to start removing.
toIndex the index after the last element to remove.