java.util
public interface List<E> extends Collection<E>
List places additional requirements on iterator
,
add
, remove
, equals
, and
hashCode
, in addition to requiring more methods. List
indexing is 0-based (like arrays), although some implementations may
require time proportional to the index to obtain an arbitrary element.
The List interface is incompatible with Set; you cannot implement both
simultaneously.
Lists also provide a ListIterator
which allows bidirectional
traversal and other features atop regular iterators. Lists can be
searched for arbitrary elements, and allow easy insertion and removal
of multiple elements in one method call.
Note: While lists may contain themselves as elements, this leads to undefined (usually infinite recursive) behavior for some methods like hashCode or equals.
Since: 1.2
See Also: Collection Set ArrayList LinkedList Vector (Object[])
Collections EMPTY_LIST AbstractList AbstractSequentialList
UNKNOWN: updated to 1.4
Method Summary | |
---|---|
void | add(int index, E o)
Insert an element into the list at a given position (optional operation).
|
boolean | add(E o)
Add an element to the end of the list (optional operation). |
boolean | addAll(int index, Collection<? extends E> c)
Insert the contents of a collection into the list at a given position
(optional operation). |
boolean | addAll(Collection<? extends E> c)
Add the contents of a collection to the end of the list (optional
operation). |
void | clear()
Clear the list, such that a subsequent call to isEmpty() would return
true (optional operation).
|
boolean | contains(Object o)
Test whether this list contains a given object as one of its elements.
|
boolean | containsAll(Collection<?> c)
Test whether this list contains every element in a given collection.
|
boolean | equals(Object o)
Test whether this list is equal to another object. |
E | get(int index)
Get the element at a given index in this list.
|
int | hashCode()
Obtains a hash code for this list. |
int | indexOf(Object o)
Obtain the first index at which a given object is to be found in this
list.
|
boolean | isEmpty()
Test whether this list is empty, that is, if size() == 0.
|
Iterator<E> | iterator()
Obtain an Iterator over this list, whose sequence is the list order.
|
int | lastIndexOf(Object o)
Obtain the last index at which a given object is to be found in this
list.
|
ListIterator<E> | listIterator()
Obtain a ListIterator over this list, starting at the beginning.
|
ListIterator<E> | listIterator(int index)
Obtain a ListIterator over this list, starting at a given position.
|
E | remove(int index)
Remove the element at a given position in this list (optional operation).
|
boolean | remove(Object o)
Remove the first occurence of an object from this list (optional
operation). |
boolean | removeAll(Collection<?> c)
Remove all elements of a given collection from this list (optional
operation). |
boolean | retainAll(Collection<?> c)
Remove all elements of this list that are not contained in a given
collection (optional operation). |
E | set(int index, E o)
Replace an element of this list with another object (optional operation).
|
int | size()
Get the number of elements in this list. |
List<E> | subList(int fromIndex, int toIndex)
Obtain a List view of a subsection of this list, from fromIndex
(inclusive) to toIndex (exclusive). |
Object[] | toArray()
Copy the current contents of this list into an array.
|
<T> T[] | toArray(T[] a)
Copy the current contents of this list into an array. |
Parameters: index the location to insert the item o the object to insert
Throws: UnsupportedOperationException if this list does not support the add operation IndexOutOfBoundsException if index < 0 || index > size() ClassCastException if o cannot be added to this list due to its type IllegalArgumentException if o cannot be added to this list for some other reason NullPointerException if o is null and this list doesn't support the addition of null values.
Parameters: o the object to add
Returns: true, as defined by Collection for a modified list
Throws: UnsupportedOperationException if this list does not support the add operation ClassCastException if o cannot be added to this list due to its type IllegalArgumentException if o cannot be added to this list for some other reason NullPointerException if o is null and this list doesn't support the addition of null values.
Parameters: index the location to insert the collection c the collection to insert
Returns: true if the list was modified by this action, that is, if c is non-empty
Throws: UnsupportedOperationException if this list does not support the addAll operation IndexOutOfBoundsException if index < 0 || index > size() ClassCastException if some element of c cannot be added to this list due to its type IllegalArgumentException if some element of c cannot be added to this list for some other reason NullPointerException if some element of c is null and this list doesn't support the addition of null values. NullPointerException if the specified collection is null
See Also: List
Parameters: c the collection to add
Returns: true if the list was modified by this action, that is, if c is non-empty
Throws: UnsupportedOperationException if this list does not support the addAll operation ClassCastException if some element of c cannot be added to this list due to its type IllegalArgumentException if some element of c cannot be added to this list for some other reason NullPointerException if the specified collection is null NullPointerException if some element of c is null and this list doesn't support the addition of null values.
See Also: add
Throws: UnsupportedOperationException if this list does not support the clear operation
o == null ? e == null : o.equals(e)
.
Parameters: o the element to look for
Returns: true if this list contains the element
Throws: ClassCastException if the type of o is not a valid type for this list. NullPointerException if o is null and the list doesn't support null values.
Parameters: c the collection to test for
Returns: true if for every element o in c, contains(o) would return true
Throws: NullPointerException if the collection is null ClassCastException if the type of any element in c is not a valid type for this list. NullPointerException if some element of c is null and this list does not support null values.
See Also: contains
l1.size() == l2.size()
, and for every integer n between 0
and l1.size() - 1
inclusive, l1.get(n) == null ?
l2.get(n) == null : l1.get(n).equals(l2.get(n))
.
Parameters: o the object to test for equality with this list
Returns: true if o is equal to this list
Parameters: index the index of the element to be returned
Returns: the element at index index in this list
Throws: IndexOutOfBoundsException if index < 0 || index >= size()
hashCode = 1; Iterator i = list.iterator(); while (i.hasNext()) { Object obj = i.next(); hashCode = 31 * hashCode + (obj == null ? 0 : obj.hashCode()); }
This ensures that the general contract of Object.hashCode() is adhered to.
Returns: the hash code of this list
Parameters: o the object to search for
Returns: the least integer n such that o == null ? get(n) == null :
o.equals(get(n))
, or -1 if there is no such index.
Throws: ClassCastException if the type of o is not a valid type for this list. NullPointerException if o is null and this list does not support null values.
Returns: true if this list contains no elements
Returns: an Iterator over the elements of this list, in order
Returns: the greatest integer n such that o == null ? get(n) == null
: o.equals(get(n))
, or -1 if there is no such index.
Throws: ClassCastException if the type of o is not a valid type for this list. NullPointerException if o is null and this list does not support null values.
Returns: a ListIterator over the elements of this list, in order, starting at the beginning
Parameters: index the position, between 0 and size() inclusive, to begin the iteration from
Returns: a ListIterator over the elements of this list, in order, starting at index
Throws: IndexOutOfBoundsException if index < 0 || index > size()
Parameters: index the position within the list of the object to remove
Returns: the object that was removed
Throws: UnsupportedOperationException if this list does not support the remove operation IndexOutOfBoundsException if index < 0 || index >= size()
o == null ? e == null : o.equals(e)
.
Parameters: o the object to remove
Returns: true if the list changed as a result of this call, that is, if the list contained at least one occurrence of o
Throws: UnsupportedOperationException if this list does not support the remove operation ClassCastException if the type of o is not a valid type for this list. NullPointerException if o is null and this list does not support removing null values.
Parameters: c the collection to filter out
Returns: true if this list was modified as a result of this call
Throws: UnsupportedOperationException if this list does not support the removeAll operation NullPointerException if the collection is null ClassCastException if the type of any element in c is not a valid type for this list. NullPointerException if some element of c is null and this list does not support removing null values.
Parameters: c the collection to retain
Returns: true if this list was modified as a result of this call
Throws: UnsupportedOperationException if this list does not support the retainAll operation NullPointerException if the collection is null ClassCastException if the type of any element in c is not a valid type for this list. NullPointerException if some element of c is null and this list does not support retaining null values.
Parameters: index the position within this list of the element to be replaced o the object to replace it with
Returns: the object that was replaced
Throws: UnsupportedOperationException if this list does not support the set operation IndexOutOfBoundsException if index < 0 || index >= size() ClassCastException if o cannot be added to this list due to its type IllegalArgumentException if o cannot be added to this list for some other reason NullPointerException if o is null and this list does not support null values.
Returns: the number of elements in the list
Parameters: fromIndex the index that the returned list should start from (inclusive) toIndex the index that the returned list should go to (exclusive)
Returns: a List backed by a subsection of this list
Throws: IndexOutOfBoundsException if fromIndex < 0 || toIndex > size() || fromIndex > toIndex
Returns: an array of type Object[] and length equal to the length of this list, containing the elements currently in this list, in order
Parameters: a the array to copy this list into
Returns: an array containing the elements currently in this list, in order
Throws: ArrayStoreException if the type of any element of the collection is not a subtype of the element type of a NullPointerException if the specified array is null