java.lang.Object | ||
↳ | java.util.AbstractCollection<E> | |
↳ | java.util.AbstractList<E> |
Known Direct Subclasses
|
Known Indirect Subclasses
LinkedList<E>,
Stack<E>
|
AbstractList
is an abstract implementation of the List
interface, optimized
for a backing store which supports random access. This implementation does
not support adding or replacing. A subclass must implement the abstract
methods get()
and size()
, and to create a
modifiable List
it's necessary to override the add()
method that
currently throws an UnsupportedOperationException
.
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
modCount | A counter for changes to the list. |
Protected Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Constructs a new instance of this AbstractList.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Adds the specified object at the end of this List.
| |||||||||||
Inserts the specified object into this List at the specified location.
| |||||||||||
Inserts the objects in the specified Collection at the specified location
in this List.
| |||||||||||
Removes all elements from this list, leaving it empty.
| |||||||||||
Compares the specified object to this list and return true if they are
equal.
| |||||||||||
Returns the element at the specified location in this list.
| |||||||||||
Returns the hash code of this list.
| |||||||||||
Searches this list for the specified object and returns the index of the
first occurrence.
| |||||||||||
Returns an iterator on the elements of this list.
| |||||||||||
Searches this list for the specified object and returns the index of the
last occurrence.
| |||||||||||
Returns a list iterator on the elements of this list.
| |||||||||||
Returns a ListIterator on the elements of this list.
| |||||||||||
Removes the object at the specified location from this list.
| |||||||||||
Replaces the element at the specified location in this list with the
specified object.
| |||||||||||
Returns a part of consecutive elements of this list as a view.
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Removes the objects in the specified range from the start to the end
index minus one.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
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
|
Adds the specified object at the end of this List.
object | the object to add |
---|
UnsupportedOperationException | if adding to this List is not supported |
---|---|
ClassCastException | if the class of the object is inappropriate for this List |
IllegalArgumentException | if the object cannot be added to this List |
Inserts the specified object into this List 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 List, the object is added at the end.
Concrete implementations that would like to support the add functionality must override this method.
location | the index at which to insert. |
---|---|
object | the object to add. |
UnsupportedOperationException | if adding to this List is not supported. |
---|---|
ClassCastException | if the class of the object is inappropriate for this List |
IllegalArgumentException | if the object cannot be added to this List |
IndexOutOfBoundsException | if location < 0 || >= size()
|
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.
location | the index at which to insert. |
---|---|
collection | the Collection of objects |
true
if this List is modified, false
otherwise.UnsupportedOperationException | if adding to this list is not supported. |
---|---|
ClassCastException | if the class of an object is inappropriate for this list. |
IllegalArgumentException | if an object cannot be added to this list. |
IndexOutOfBoundsException | if location < 0 || > size()
|
Removes all elements from this list, leaving it empty.
UnsupportedOperationException | if removing from this list is not supported. |
---|
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.
object | the object to compare to this object. |
---|
true
if the specified object is equal to this list,
false
otherwise.Returns the element at the specified location in this list.
location | the index of the element to return. |
---|
IndexOutOfBoundsException | if location < 0 || >= size()
|
---|
Returns the hash code of this list. The hash code is calculated by taking each element's hashcode into account.
Searches this list for the specified object and returns the index of the first occurrence.
object | the object to search for. |
---|
Returns an iterator on the elements of this list. The elements are iterated in the same order as they occur in the list.
Searches this list for the specified object and returns the index of the last occurrence.
object | the object to search for. |
---|
Returns a list iterator on the elements of this list. The elements are iterated in the same order as they occur in the list. The iteration starts at the specified location.
location | the index at which to start the iteration. |
---|
IndexOutOfBoundsException | if location < 0 || location > size() |
---|
Returns a ListIterator on the elements of this list. The elements are iterated in the same order that they occur in the list.
Removes the object at the specified location from this list.
location | the index of the object to remove. |
---|
UnsupportedOperationException | if removing from this list is not supported. |
---|---|
IndexOutOfBoundsException | if location < 0 || >= size()
|
Replaces the element at the specified location in this list with the specified object.
location | the index at which to put the specified object. |
---|---|
object | the object to add. |
UnsupportedOperationException | if replacing elements in this list is not supported. |
---|---|
ClassCastException | if the class of an object is inappropriate for this list. |
IllegalArgumentException | if an object cannot be added to this list. |
IndexOutOfBoundsException | if location < 0 || >= size()
|
Returns a part of consecutive elements of this list as a view. The returned view will be of zero length if start equals end. Any change that occurs in the returned subList will be reflected to the original list, and vice-versa. All the supported optional operations by the original list will also be supported by this subList.
This method can be used as a handy method to do some operations on a sub
range of the original list, for example
list.subList(from, to).clear();
If the original list is modified in other ways than through the returned subList, the behavior of the returned subList becomes undefined.
The returned subList is a subclass of AbstractList. The subclass stores offset, size of itself, and modCount of the original list. If the original list implements RandomAccess interface, the returned subList also implements RandomAccess interface.
The subList's set(int, Object), get(int), add(int, Object), remove(int), addAll(int, Collection) and removeRange(int, int) methods first check the bounds, adjust offsets and then call the corresponding methods of the original AbstractList. addAll(Collection c) method of the returned subList calls the original addAll(offset + size, c).
The listIterator(int) method of the subList wraps the original list iterator. The iterator() method of the subList invokes the original listIterator() method, and the size() method merely returns the size of the subList.
All methods will throw a ConcurrentModificationException if the modCount of the original list is not equal to the expected value.
start | start index of the subList (inclusive). |
---|---|
end | end index of the subList, (exclusive). |
start
(inclusive), and ending with end
(exclusive)IndexOutOfBoundsException | if (start < 0 || end > size()) |
---|---|
IllegalArgumentException | if (start > end) |
Removes the objects in the specified range from the start to the end index minus one.
start | the index at which to start removing. |
---|---|
end | the index after the last element to remove. |
UnsupportedOperationException | if removing from this list is not supported. |
---|---|
IndexOutOfBoundsException | if start < 0 or start >= size() .
|