|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.util.AbstractCollection java.util.AbstractList java.util.ArrayList
public class ArrayList
An array-backed implementation of the List interface. This implements all optional list operations, and permits null elements, so that it is better than Vector, which it replaces. Random access is roughly constant time, and iteration is roughly linear time, so it is nice and fast, with less overhead than a LinkedList.
Each list has a capacity, and as the array reaches that capacity it is automatically transferred to a larger array. You also have access to ensureCapacity and trimToSize to control the backing array's size, avoiding reallocation or wasted memory.
ArrayList is not synchronized, so if you need multi-threaded access,
consider using:
List l = Collections.synchronizedList(new ArrayList(...));
The iterators are fail-fast, meaning that any structural
modification, except for remove()
called on the iterator
itself, cause the iterator to throw a
ConcurrentModificationException
rather than exhibit
non-deterministic behavior.
Collection
,
List
,
LinkedList
,
Vector
,
Collections.synchronizedList(List)
,
AbstractList
Field Summary |
---|
Fields inherited from class java.util.AbstractList |
---|
modCount |
Constructor Summary | |
---|---|
ArrayList()
Construct a new ArrayList with the default capacity (16). |
|
ArrayList(Collection c)
Construct a new ArrayList, and initialize it with the elements in the supplied Collection. |
|
ArrayList(int capacity)
Construct a new ArrayList with the supplied initial capacity. |
Method Summary | |
---|---|
void |
add(int index,
Object e)
Adds the supplied element at the specified index, shifting all elements currently at that index or higher one to the right. |
boolean |
add(Object e)
Appends the supplied element to the end of this list. |
boolean |
addAll(Collection c)
Add each element in the supplied Collection to this List. |
boolean |
addAll(int index,
Collection c)
Add all elements in the supplied collection, inserting them beginning at the specified index. |
void |
clear()
Removes all elements from this List |
boolean |
contains(Object e)
Returns true iff element is in this ArrayList. |
void |
ensureCapacity(int minCapacity)
Guarantees that this list will have at least enough capacity to hold minCapacity elements. |
Object |
get(int index)
Retrieves the element at the user-supplied index. |
int |
indexOf(Object e)
Returns the lowest index at which element appears in this List, or -1 if it does not appear. |
boolean |
isEmpty()
Checks if the list is empty. |
int |
lastIndexOf(Object e)
Returns the highest index at which element appears in this List, or -1 if it does not appear. |
Object |
remove(int index)
Removes the element at the user-supplied index. |
protected void |
removeRange(int fromIndex,
int toIndex)
Removes all elements in the half-open interval [fromIndex, toIndex). |
Object |
set(int index,
Object e)
Sets the element at the specified index. |
int |
size()
Returns the number of elements in this list. |
Object[] |
toArray()
Returns an Object array containing all of the elements in this ArrayList. |
Object[] |
toArray(Object[] a)
Returns an Array whose component type is the runtime component type of the passed-in Array. |
void |
trimToSize()
Trims the capacity of this List to be equal to its size; a memory saver. |
Methods inherited from class java.util.AbstractList |
---|
equals, hashCode, iterator, listIterator, listIterator, subList |
Methods inherited from class java.util.AbstractCollection |
---|
containsAll, remove, removeAll, retainAll, toString |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.util.List |
---|
containsAll, equals, hashCode, iterator, listIterator, listIterator, remove, removeAll, retainAll, subList |
Constructor Detail |
---|
public ArrayList(int capacity)
capacity
- initial capacity of this ArrayList
IllegalArgumentException
- if capacity is negativepublic ArrayList()
public ArrayList(Collection c)
c
- the collection whose elements will initialize this list
NullPointerException
- if c is nullMethod Detail |
---|
public void trimToSize()
public void ensureCapacity(int minCapacity)
minCapacity
- the minimum guaranteed capacitypublic int size()
size
in interface Collection
size
in interface List
size
in class AbstractCollection
public boolean isEmpty()
isEmpty
in interface Collection
isEmpty
in interface List
isEmpty
in class AbstractCollection
AbstractCollection.size()
public boolean contains(Object e)
contains
in interface Collection
contains
in interface List
contains
in class AbstractCollection
e
- the element whose inclusion in the List is being tested
public int indexOf(Object e)
indexOf
in interface List
indexOf
in class AbstractList
e
- the element whose inclusion in the List is being tested
public int lastIndexOf(Object e)
lastIndexOf
in interface List
lastIndexOf
in class AbstractList
e
- the element whose inclusion in the List is being tested
public Object[] toArray()
toArray
in interface Collection
toArray
in interface List
toArray
in class AbstractCollection
public Object[] toArray(Object[] a)
toArray
in interface Collection
toArray
in interface List
toArray
in class AbstractCollection
a
- the passed-in Array
ArrayStoreException
- if the runtime type of a does not allow
an element in this list
NullPointerException
- if a is nullpublic Object get(int index)
get
in interface List
get
in class AbstractList
index
- the index of the element we are fetching
IndexOutOfBoundsException
- if index < 0 || index >= size()public Object set(int index, Object e)
set
in interface List
set
in class AbstractList
index
- the index at which the element is being sete
- the element to be set
IndexOutOfBoundsException
- if index < 0 || index >= 0public boolean add(Object e)
add
in interface Collection
add
in interface List
add
in class AbstractList
e
- the element to be appended to this list
AbstractList.add(int, Object)
public void add(int index, Object e)
add
in interface List
add
in class AbstractList
index
- the index at which the element is being addede
- the item being added
IndexOutOfBoundsException
- if index < 0 || index > size()AbstractList.modCount
public Object remove(int index)
remove
in interface List
remove
in class AbstractList
index
- the index of the element to be removed
IndexOutOfBoundsException
- if index < 0 || index >= size()AbstractList.modCount
public void clear()
clear
in interface Collection
clear
in interface List
clear
in class AbstractList
AbstractList.remove(int)
,
AbstractList.removeRange(int, int)
public boolean addAll(Collection c)
addAll
in interface Collection
addAll
in interface List
addAll
in class AbstractCollection
c
- a Collection containing elements to be added to this List
NullPointerException
- if c is nullAbstractCollection.add(Object)
public boolean addAll(int index, Collection c)
addAll
in interface List
addAll
in class AbstractList
index
- the index at which the elements will be insertedc
- the Collection containing the elements to be inserted
IndexOutOfBoundsException
- if index < 0 || index > 0
NullPointerException
- if c is nullAbstractList.add(int, Object)
protected void removeRange(int fromIndex, int toIndex)
removeRange
in class AbstractList
fromIndex
- the first index which will be removedtoIndex
- one greater than the last index which will be removed
IndexOutOfBoundsException
- if fromIndex > toIndex
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |