public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, Serializable
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,
Serialized FormmodCount| Constructor and Description |
|---|
ArrayList()
Construct a new ArrayList with the default capcity (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.
|
| Modifier and Type | Method and Description |
|---|---|
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
|
Object |
clone()
Creates a shallow copy of this ArrayList (elements are not cloned).
|
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.
|
equals, hashCode, iterator, listIterator, listIterator, subListcontainsAll, remove, removeAll, retainAll, toStringfinalize, getClass, notify, notifyAll, wait, wait, waitcontainsAll, equals, hashCode, iterator, listIterator, listIterator, remove, removeAll, retainAll, subListpublic ArrayList(int capacity)
capacity - initial capacity of this ArrayListIllegalArgumentException - if capacity is negativepublic ArrayList()
public ArrayList(Collection c)
c - the collection whose elements will initialize this listNullPointerException - if c is nullpublic void trimToSize()
public void ensureCapacity(int minCapacity)
minCapacity - the minimum guaranteed capacitypublic int size()
size in interface Collectionsize in interface Listsize in class AbstractCollectionpublic boolean isEmpty()
isEmpty in interface CollectionisEmpty in interface ListisEmpty in class AbstractCollectionAbstractCollection.size()public boolean contains(Object e)
contains in interface Collectioncontains in interface Listcontains in class AbstractCollectione - the element whose inclusion in the List is being testedpublic int indexOf(Object e)
indexOf in interface ListindexOf in class AbstractListe - the element whose inclusion in the List is being testedpublic int lastIndexOf(Object e)
lastIndexOf in interface ListlastIndexOf in class AbstractListe - the element whose inclusion in the List is being testedpublic Object clone()
public Object[] toArray()
toArray in interface CollectiontoArray in interface ListtoArray in class AbstractCollectionpublic Object[] toArray(Object[] a)
toArray in interface CollectiontoArray in interface ListtoArray in class AbstractCollectiona - the passed-in ArrayArrayStoreException - if the runtime type of a does not allow
an element in this listNullPointerException - if a is nullpublic Object get(int index)
get in interface Listget in class AbstractListindex - the index of the element we are fetchingIndexOutOfBoundsException - if index < 0 || index >= size()public Object set(int index, Object e)
set in interface Listset in class AbstractListindex - the index at which the element is being sete - the element to be setIndexOutOfBoundsException - if index < 0 || index >= 0public boolean add(Object e)
add in interface Collectionadd in interface Listadd in class AbstractListe - the element to be appended to this listAbstractList.add(int, Object)public void add(int index,
Object e)
add in interface Listadd in class AbstractListindex - the index at which the element is being addede - the item being addedIndexOutOfBoundsException - if index < 0 || index > size()AbstractList.modCountpublic Object remove(int index)
remove in interface Listremove in class AbstractListindex - the index of the element to be removedIndexOutOfBoundsException - if index < 0 || index >= size()AbstractList.modCountpublic void clear()
clear in interface Collectionclear in interface Listclear in class AbstractListAbstractList.remove(int),
AbstractList.removeRange(int, int)public boolean addAll(Collection c)
addAll in interface CollectionaddAll in interface ListaddAll in class AbstractCollectionc - a Collection containing elements to be added to this ListNullPointerException - if c is nullAbstractCollection.add(Object)public boolean addAll(int index,
Collection c)
addAll in interface ListaddAll in class AbstractListindex - the index at which the elements will be insertedc - the Collection containing the elements to be insertedIndexOutOfBoundsException - if index < 0 || index > 0NullPointerException - if c is nullAbstractList.add(int, Object)protected void removeRange(int fromIndex,
int toIndex)
removeRange in class AbstractListfromIndex - the first index which will be removedtoIndex - one greater than the last index which will be removedIndexOutOfBoundsException - if fromIndex > toIndex