Skip to content

Most visited

Recently visited

navigation
Added in API level 1

AbstractList

public abstract class AbstractList
extends AbstractCollection<E> implements List<E>

java.lang.Object
   ↳ java.util.AbstractCollection<E>
     ↳ java.util.AbstractList<E>
Known Direct Subclasses
Known Indirect Subclasses


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.

Summary

Fields

protected int modCount

A counter for changes to the list.

Protected constructors

AbstractList()

Constructs a new instance of this AbstractList.

Public methods

boolean add(E object)

Adds the specified object at the end of this List.

void add(int location, E object)

Inserts the specified object into this List at the specified location.

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 list, leaving it empty.

boolean equals(Object object)

Compares the specified object to this list and return true if they are equal.

abstract E get(int location)

Returns the element at the specified location in this list.

int hashCode()

Returns the hash code of this list.

int indexOf(Object object)

Searches this list for the specified object and returns the index of the first occurrence.

Iterator<E> iterator()

Returns an iterator on the elements of this list.

int lastIndexOf(Object object)

Searches this list for the specified object and returns the index of the last occurrence.

ListIterator<E> listIterator(int location)

Returns a list iterator on the elements of this list.

ListIterator<E> listIterator()

Returns a ListIterator on the elements of this list.

E remove(int location)

Removes the object at the specified location from this list.

E set(int location, E object)

Replaces the element at the specified location in this list with the specified object.

List<E> subList(int start, int end)

Returns a part of consecutive elements of this list as a view.

Protected methods

void removeRange(int start, int end)

Removes the objects in the specified range from the start to the end index minus one.

Inherited methods

From class java.util.AbstractCollection
From class java.lang.Object
From interface java.util.Collection
From interface java.util.List
From interface java.lang.Iterable

Fields

modCount

Added in API level 1
int modCount

A counter for changes to the list.

Protected constructors

AbstractList

Added in API level 1
AbstractList ()

Constructs a new instance of this AbstractList.

Public methods

add

Added in API level 1
boolean add (E object)

Adds the specified object at the end of this List.

Parameters
object E: the object to add
Returns
boolean true
Throws
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

add

Added in API level 1
void add (int location, 
                E object)

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.

Parameters
location int: the index at which to insert.
object E: the object to add.
Throws
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 || location > size()

addAll

Added in API level 1
boolean addAll (int location, 
                Collection<? extends E> collection)

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.

Parameters
location int: the index at which to insert.
collection Collection: the Collection of objects
Returns
boolean true if this List is modified, false otherwise.
Throws
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 || location > size()

clear

Added in API level 1
void clear ()

Removes all elements from this list, leaving it empty.

Throws
UnsupportedOperationException if removing from this list is not supported.

See also:

equals

Added in API level 1
boolean equals (Object object)

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.

Parameters
object Object: the object to compare to this object.
Returns
boolean true if the specified object is equal to this list, false otherwise.

See also:

get

Added in API level 1
E get (int location)

Returns the element at the specified location in this list.

Parameters
location int: the index of the element to return.
Returns
E the element at the specified index.
Throws
IndexOutOfBoundsException if location < 0 || location >= size()

hashCode

Added in API level 1
int hashCode ()

Returns the hash code of this list. The hash code is calculated by taking each element's hashcode into account.

Returns
int the hash code.

See also:

indexOf

Added in API level 1
int indexOf (Object object)

Searches this list for the specified object and returns the index of the first occurrence.

Parameters
object Object: the object to search for.
Returns
int the index of the first occurrence of the object, or -1 if it was not found.

iterator

Added in API level 1
Iterator<E> iterator ()

Returns an iterator on the elements of this list. The elements are iterated in the same order as they occur in the list.

Returns
Iterator<E> an iterator on the elements of this list.

See also:

lastIndexOf

Added in API level 1
int lastIndexOf (Object object)

Searches this list for the specified object and returns the index of the last occurrence.

Parameters
object Object: the object to search for.
Returns
int the index of the last occurrence of the object, or -1 if the object was not found.

listIterator

Added in API level 1
ListIterator<E> listIterator (int location)

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.

Parameters
location int: the index at which to start the iteration.
Returns
ListIterator<E> a ListIterator on the elements of this list.
Throws
IndexOutOfBoundsException if location < 0 || location > size()

See also:

listIterator

Added in API level 1
ListIterator<E> listIterator ()

Returns a ListIterator on the elements of this list. The elements are iterated in the same order that they occur in the list.

Returns
ListIterator<E> a ListIterator on the elements of this list

See also:

remove

Added in API level 1
E remove (int location)

Removes the object at the specified location from this list.

Parameters
location int: the index of the object to remove.
Returns
E the removed object.
Throws
UnsupportedOperationException if removing from this list is not supported.
IndexOutOfBoundsException if location < 0 || location >= size()

set

Added in API level 1
E set (int location, 
                E object)

Replaces the element at the specified location in this list with the specified object.

Parameters
location int: the index at which to put the specified object.
object E: the object to add.
Returns
E the previous element at the index.
Throws
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 || location >= size()

subList

Added in API level 1
List<E> subList (int start, 
                int end)

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.

Parameters
start int: start index of the subList (inclusive).
end int: end index of the subList, (exclusive).
Returns
List<E> a subList view of this list starting from start (inclusive), and ending with end (exclusive)
Throws
IndexOutOfBoundsException if (start < 0 || end > size())
IllegalArgumentException if (start > end)

Protected methods

removeRange

Added in API level 1
void removeRange (int start, 
                int end)

Removes the objects in the specified range from the start to the end index minus one.

Parameters
start int: the index at which to start removing.
end int: the index after the last element to remove.
Throws
UnsupportedOperationException if removing from this list is not supported.
IndexOutOfBoundsException if start < 0 or start >= size().
This site uses cookies to store your preferences for site-specific language and display options.

Hooray!

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.