[all packages]
[package java.util]
[class hierarchy]
[index]
public class java.util.ArrayList<A>
(source file: ArrayList.java)
java.lang.Object
|
+----java.util.AbstractCollection<A>
|
+----java.util.AbstractList<A>
|
+----java.util.ArrayList<A>
The pure class interface.
public class ArrayList<A>
extends AbstractList<A>
implements List<A>, Cloneable, java.io.Serializable
-
Resizable-array implementation of the List interface. Implements all
optional List operations, and permits all elements, including null. In
addition to implementing the List interface, ArrayList provides methods
to manipulate the size of the array that is used internally to store the
List. (ArrayList is roughly equivalent to Vector, except that it is
unsynchronized.)
The size, isEmpty, get, set, clear, iterator, and listIterator
operations run in constant time. The add() operation runs in constant
time unless it causes the ArrayList to exceed its capacity, in which case
it runs in linear time. All of the other operations run in linear time
(roughly speaking). The constant factor is low compared to that for
LinkedList.
Each ArrayList has a capacity and a capacityIncrement.
The capacity
is the size of the array used to store the
elements in the List. It is always at least as large as the List size; it
is usually larger because as components are added to the ArrayList, the
ArrayList's storage increases in chunks the size of its
capacityIncrement. (The capacityIncrement does not change over the
lifetime of the ArrayList.) An application can increase the capacity of
an ArrayList before inserting a large number of components; this reduces
the amount of incremental reallocation.
Note that this implementation is not synchronized. If
multiple threads access an ArrayList concurrently, and at least one of
the threads modifies the ArrayList structurally, it must be
synchronized externally. (A structural modification is any operation
that adds or deletes one or more elements, or explicitly resizes the
backing array; merely setting the value of an element is not a structural
modification.) This is typically accomplished by synchronizing on some
object that naturally encapsulates the ArrayList. If no such object
exists, the ArrayList should be "wrapped" using the
Collections.synchronizedSet method. This is best done at creation time,
to prevent accidental unsynchronized access to the ArrayList:
List list = Collections.synchronizedList(new ArrayList(...));
The Iterators returned by ArrayList's iterator and listIterator
methods are fail-fast: if the ArrayList is structurally modified
at any time after the Iterator is created, in any way except through the
Iterator's own remove or add methods, the Iterator will throw a
ConcurrentModificationException. Thus, in the face of concurrent
modification, the Iterator fails quickly and cleanly, rather than risking
arbitrary, non-deterministic behavior at an undetermined time in the future.
- See also:
- Collection, List, LinkedList, Vector, Collections.synchronizedList
- ArrayList()
-
Constructs an empty ArrayList.
- ArrayList(Collection<A>)
-
Constructs an ArrayList containing the elements of the specified
Collection, in the order
- ArrayList(int)
-
Constructs an empty ArrayList with the specified initial capacity.
- ArrayList(int, int)
-
Constructs an empty ArrayList with the specified initial capacity and
capacity
- add(int, A)
-
Inserts the specified element at the specified position in this
ArrayList
- add(A)
-
Appends the specified element to the end of this ArrayList.
- addAll(int, Collection<A>)
-
Inserts all of the elements in the specified Collection into this
ArrayList, starting at
- addAll(Collection<A>)
-
Appends all of the elements in the specified Collection to the end of
this this
- clear()
-
Removes all of the elements from this ArrayList
- clone()
-
Returns a shallow copy of this ArrayList
- contains(A)
-
Returns true if this ArrayList contains the specified element.
- ensureCapacity(int)
-
Increases the capacity of this ArrayList, if necessary, to ensure
that it can hold at
- get(int)
-
Returns the element at the specified position in this ArrayList.
- indexOf(A, int)
-
Searches for the first occurence of the given argument, beginning
the search at
- indexOf(A)
-
Searches for the first occurence of the given argument, testing
for equality using the
- isEmpty()
-
Tests if this ArrayList has no components.
- lastIndexOf(A, int)
-
Searches backwards for the specified object, starting from the
specified index, and
- lastIndexOf(A)
-
Returns the index of the last occurrence of the specified object in
this ArrayList.
- remove(int)
-
Removes the element at the specified position in this ArrayList.
Shifts any subsequent
- removeRange(int, int)
-
Removes from this ArrayList all of the elements whose index is between
fromIndex,
- set(int, A)
-
Replaces the element at the specified position in this ArrayList with
the specified
- size()
-
Returns the number of components in this ArrayList.
- toArray()
-
Returns an array containing all of the elements in this ArrayList
in the correct order.
- trimToSize()
-
Trims the capacity of this ArrayList to be the ArrayList's current
size
ArrayList
public ArrayList(int initialCapacity,
int capacityIncrement);
-
Constructs an empty ArrayList with the specified initial capacity and
capacity increment.
- Parameters:
- initialCapacity - the initial capacity of the ArrayList.
- capacityIncrement - the amount by which the capacity is
increased when the ArrayList overflows.
ArrayList
public ArrayList(int initialCapacity);
-
Constructs an empty ArrayList with the specified initial capacity.
- Parameters:
- initialCapacity - the initial capacity of the ArrayList.
ArrayList
public ArrayList();
-
Constructs an empty ArrayList.
ArrayList
public ArrayList(Collection<A> c);
-
Constructs an ArrayList containing the elements of the specified
Collection, in the order they are returned by the Collection's
iterator. The ArrayList has initial capacity of 110% the size
of the specified Collection, and the default capacity increment.
trimToSize
public void trimToSize();
-
Trims the capacity of this ArrayList to be the ArrayList's current
size. An application can use this operation to minimize the
storage of an ArrayList.
ensureCapacity
public void ensureCapacity(int minCapacity);
-
Increases the capacity of this ArrayList, if necessary, to ensure
that it can hold at least the number of components specified by
the minimum capacity argument.
- Parameters:
- minCapacity - the desired minimum capacity.
size
public int size();
-
Returns the number of components in this ArrayList.
- Returns:
- the number of components in this ArrayList.
- Overrides:
- size in class AbstractCollection
isEmpty
public boolean isEmpty();
-
Tests if this ArrayList has no components.
- Returns:
true
if this ArrayList has no components;
false
otherwise.
- Overrides:
- isEmpty in class AbstractCollection
contains
public boolean contains(A elem);
-
Returns true if this ArrayList contains the specified element.
- Parameters:
- o - element whose presence in this List is to be tested.
- Overrides:
- contains in class AbstractCollection
indexOf
public int indexOf(A elem);
-
Searches for the first occurence of the given argument, testing
for equality using the
equals
method.
- Parameters:
- elem - an object.
- Returns:
- the index of the first occurrence of the argument in this
ArrayList; returns
-1
if the object is not found.
- Overrides:
- indexOf in class AbstractList
- See also:
- equals(Object)
indexOf
public int indexOf(A elem,
int index);
-
Searches for the first occurence of the given argument, beginning
the search at
index
, and testing for equality using
the equals
method.
- Parameters:
- elem - an object.
- index - the index to start searching from.
- Returns:
- the index of the first occurrence of the object argument in
this ArrayList at position
index
or later in the
ArrayList; returns -1
if the object is not found.
- Overrides:
- indexOf in class AbstractList
- See also:
- equals(Object)
lastIndexOf
public int lastIndexOf(A elem);
-
Returns the index of the last occurrence of the specified object in
this ArrayList.
- Parameters:
- elem - the desired component.
- Returns:
- the index of the last occurrence of the specified object in
this ArrayList; returns -1 if the object is not found.
- Overrides:
- lastIndexOf in class AbstractList
lastIndexOf
public int lastIndexOf(A elem,
int index);
-
Searches backwards for the specified object, starting from the
specified index, and returns an index to it.
- Parameters:
- elem - the desired component.
- index - the index to start searching from.
- Returns:
- the index of the last occurrence of the specified object in this
ArrayList at position less than index in the ArrayList;
-1 if the object is not found.
- Overrides:
- lastIndexOf in class AbstractList
clone
public Object clone();
-
Returns a shallow copy of this ArrayList. (The elements themselves
are not copied.)
- Returns:
- a clone of this ArrayList.
- Overrides:
- clone in class Object
toArray
public Object[] toArray();
-
Returns an array containing all of the elements in this ArrayList
in the correct order.
- Overrides:
- toArray in class AbstractCollection
get
public A get(int index);
-
Returns the element at the specified position in this ArrayList.
- Parameters:
- index - index of element to return.
- Throws:
- IndexOutOfBoundsException -index is out of range (index
< 0 || index >= size()).
-
- Overrides:
- get in class AbstractList
set
public A set(int index,
A element);
-
Replaces the element at the specified position in this ArrayList with
the specified element.
- Parameters:
- index - index of element to replace.
- element - element to be stored at the specified position.
- Returns:
- the element previously at the specified position.
- Throws:
- IndexOutOfBoundsException -index out of range
(index < 0 || index >= size()).
-
- Overrides:
- set in class AbstractList
add
public boolean add(A o);
-
Appends the specified element to the end of this ArrayList.
- Parameters:
- o - element to be appended to this ArrayList.
- Returns:
- true (as per the general contract of Collection.add).
- Overrides:
- add in class AbstractList
add
public void add(int index,
A element);
-
Inserts the specified element at the specified position in this
ArrayList. Shifts the element currently at that position (if any) and
any subsequent elements to the right (adds one to their indices).
- Parameters:
- index - index at which the specified element is to be inserted.
- element - element to be inserted.
- Throws:
- IndexOutOfBoundsException -index is out of range
(index < 0 || index > size()).
-
- Overrides:
- add in class AbstractList
remove
public A remove(int index);
-
Removes the element at the specified position in this ArrayList.
Shifts any subsequent elements to the left (subtracts one from their
indices). Returns the element that was removed from the ArrayList.
- Parameters:
- index - the index of the element to removed.
- Throws:
- IndexOutOfBoundsException -index out of range (index
< 0 || index >= size()).
-
- Overrides:
- remove in class AbstractList
clear
public void clear();
-
Removes all of the elements from this ArrayList. The ArrayList will
be empty after this call returns, unless it throws an exception.
- Throws:
- UnsupportedOperationException -clear is not supported
by this Set.
-
- Overrides:
- clear in class AbstractCollection
addAll
public boolean addAll(Collection<A> c);
-
Appends all of the elements in the specified Collection to the end of
this this ArrayList, in the order that they are returned by the
specified Collection's Iterator. The behavior of this operation is
undefined if the specified Collection is modified while the operation
is in progress. (This implies that the behavior of this call is
undefined if the the specified Collection is this ArrayList, and this
ArrayList is nonempty.)
- Parameters:
- index - index at which to insert first element
from the specified collection.
- c - elements to be inserted into this ArrayList.
- Throws:
- IndexOutOfBoundsException -index out of range (index
< 0 || index > size()).
-
- Overrides:
- addAll in class AbstractCollection
removeRange
public void removeRange(int fromIndex,
int toIndex);
-
Removes from this ArrayList all of the elements whose index is between
fromIndex, inclusive and toIndex, exclusive. Shifts any succeeding
elements to the left (reduces their index).
This call shortens the ArrayList by (toIndex - fromIndex) elements. (If
toIndex==fromIndex, this operation has no effect.)
- Parameters:
- fromIndex - index of first element to be removed.
- fromIndex - index after last element to be removed.
- Throws:
- IndexOutOfBoundsException -fromIndex or toIndex out of
range (fromIndex < 0 || fromIndex >= size() || toIndex
> size() || toIndex < fromIndex).
-
- Overrides:
- removeRange in class AbstractList
addAll
public boolean addAll(int index,
Collection<A> c);
-
Inserts all of the elements in the specified Collection into this
ArrayList, starting at the specified position. Shifts the element
currently at that position (if any) and any subsequent elements to
the right (increases their indices). The new elements will appear
in the ArrayList in the order that they are returned by the
specified Collection's iterator.
- Parameters:
- index - index at which to insert first element
from the specified collection.
- c - elements to be inserted into this ArrayList.
- Throws:
- IndexOutOfBoundsException -index out of range (index
< 0 || index > size()).
-
- Overrides:
- addAll in class AbstractList
[all packages]
[package java.util]
[class hierarchy]
[index]
java.util.ArrayList.html