public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess
List
, backed by an array. All
optional operations adding, removing, and replacing are supported. The
elements can be any objects.modCount
Constructor and Description |
---|
ArrayList()
Constructs a new instance of
ArrayList with ten capacity. |
ArrayList(Collection<? extends E> collection)
Constructs a new instance of
ArrayList containing the elements of
the specified collection. |
ArrayList(int capacity)
Constructs a new instance of
ArrayList with the specified
capacity. |
Modifier and Type | Method and Description |
---|---|
boolean |
add(E object)
Adds the specified object at the end of this
ArrayList . |
void |
add(int location,
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 location,
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. |
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. |
E |
get(int location)
Returns the element at the specified location in 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. |
int |
lastIndexOf(Object object)
Searches this list for the specified object and returns the index of the
last occurrence.
|
E |
remove(int location)
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). |
protected void |
removeRange(int start,
int end)
Removes the objects in the specified range from the start to the end, but
not including the end index.
|
E |
set(int location,
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 . |
Object[] |
toArray()
Returns a new array containing all elements contained in this
ArrayList . |
<T> T[] |
toArray(T[] contents)
Returns an array containing all elements contained in this
ArrayList . |
void |
trimToSize()
Sets the capacity of this
ArrayList to be the same as the current
size. |
equals, hashCode, iterator, listIterator, listIterator, subList
containsAll, removeAll, retainAll, toString
containsAll, equals, hashCode, iterator, listIterator, listIterator, removeAll, retainAll, subList
public ArrayList()
ArrayList
with ten capacity.public ArrayList(int capacity)
ArrayList
with the specified
capacity.capacity
- the initial capacity of this ArrayList
.public ArrayList(Collection<? extends E> collection)
ArrayList
containing the elements of
the specified collection. The initial size of the ArrayList
will
be 10% larger than the size of the specified collection.collection
- the collection of elements to add.public void add(int location, E object)
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.add
in interface List<E>
add
in class AbstractList<E>
location
- the index at which to insert the object.object
- the object to add.IndexOutOfBoundsException
- when location < 0 || > size()
public boolean add(E object)
ArrayList
.add
in interface Collection<E>
add
in interface List<E>
add
in class AbstractList<E>
object
- the object to add.public boolean addAll(int location, Collection<? extends E> collection)
addAll
in interface List<E>
addAll
in class AbstractList<E>
location
- the index at which to insert.collection
- the collection of objects.true
if this ArrayList
is modified, false
otherwise.IndexOutOfBoundsException
- when location < 0 || > size()
public boolean addAll(Collection<? extends E> collection)
ArrayList
.addAll
in interface Collection<E>
addAll
in interface List<E>
addAll
in class AbstractCollection<E>
collection
- the collection of objects.true
if this ArrayList
is modified, false
otherwise.public void clear()
ArrayList
, leaving it empty.public boolean contains(Object object)
ArrayList
for the specified object.contains
in interface Collection<E>
contains
in interface List<E>
contains
in class AbstractCollection<E>
object
- the object to search for.true
if object
is an element of this
ArrayList
, false
otherwisepublic void ensureCapacity(int minimumCapacity)
ArrayList
can hold the
specified number of elements without further growing.minimumCapacity
- the minimum capacity asked for.public E get(int location)
AbstractList
public int indexOf(Object object)
AbstractList
public boolean isEmpty()
AbstractCollection
Collection
contains no elements. This implementation
tests, whether size
returns 0.isEmpty
in interface Collection<E>
isEmpty
in interface List<E>
isEmpty
in class AbstractCollection<E>
true
if this Collection
has no elements, false
otherwise.AbstractCollection.size()
public int lastIndexOf(Object object)
AbstractList
lastIndexOf
in interface List<E>
lastIndexOf
in class AbstractList<E>
object
- the object to search for.public E remove(int location)
remove
in interface List<E>
remove
in class AbstractList<E>
location
- the index of the object to remove.IndexOutOfBoundsException
- when location < 0 || >= size()
public boolean remove(Object object)
AbstractCollection
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.remove
in interface Collection<E>
remove
in interface List<E>
remove
in class AbstractCollection<E>
object
- the object to remove.true
if this Collection
is modified, false
otherwise.protected void removeRange(int start, int end)
removeRange
in class AbstractList<E>
start
- the index at which to start removing.end
- the index one after the end of the range to remove.IndexOutOfBoundsException
- when start < 0, start > end
or end > size()
public E set(int location, E object)
ArrayList
with the specified object.set
in interface List<E>
set
in class AbstractList<E>
location
- the index at which to put the specified object.object
- the object to add.IndexOutOfBoundsException
- when location < 0 || >= size()
public int size()
ArrayList
.size
in interface Collection<E>
size
in interface List<E>
size
in class AbstractCollection<E>
ArrayList
.public Object[] toArray()
ArrayList
.toArray
in interface Collection<E>
toArray
in interface List<E>
toArray
in class AbstractList<E>
ArrayList
public <T> T[] toArray(T[] contents)
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.toArray
in interface Collection<E>
toArray
in interface List<E>
toArray
in class AbstractList<E>
contents
- the array.ArrayList
.ArrayStoreException
- when the type of an element in this ArrayList
cannot
be stored in the type of the specified array.public void trimToSize()
ArrayList
to be the same as the current
size.size