| |
| Java Collection Framework - List Interface |
This is an ordered collection (also
known as a sequence). The List interface
extends the Collection interface to
define an ordered collection, permitting
duplicates. The user of this interface
has precise control over where in
the list each element is inserted.
The user can access elements by their
integer index (position in the list),
and search for elements in the list.
void
|
add(int index, Object element)
Inserts the specified element
at the specified position in
this list (optional operation).
|
boolean
|
add(Object o)
Appends the specified element
to the end of this list (optional
operation).
|
boolean
|
addAll(Collection c)
Appends all of the elements
in the specified collection
to the end of this list, in
the order that they are returned
by the specified collection's iterator (optional operation).
|
boolean
|
addAll(int index, Collection c)
Inserts all of the elements
in the specified collection
into this list at the specified
position (optional operation).
|
void
|
clear()
Removes all of the elements
from this list (optional operation).
|
boolean
|
contains(Object o)
Returns true if this list contains the specified
element.
|
boolean
|
containsAll(Collection c)
Returns true if this list contains all of the elements
of the specified collection.
|
boolean
|
equals(Object o)
Compares the specified object
with this list for equality.
|
Object
|
get(int index)
Returns the element at the specified
position in this list.
|
int
|
hashCode()
Returns the hash code value
for this list.
|
int
|
indexOf(Object o)
Returns the index in this list
of the first occurrence of the
specified element, or -1 if
this list does not contain this
element.
|
boolean
|
isEmpty()
Returns true if this list contains no elements.
|
Iterator
|
iterator()
Returns an iterator over the elements in this list in proper sequence.
|
int
|
lastIndexOf(Object o)
Returns the index in this list
of the last occurrence of the
specified element, or -1 if
this list does not contain this
element.
|
ListIterator
|
listIterator()
Returns a list iterator of the elements in this list (in proper sequence).
|
ListIterator
|
listIterator(int index)
Returns a list iterator of the elements in this list (in proper sequence),
starting at the specified position
in this list.
|
Object
|
remove(int index)
Removes the element at the specified
position in this list (optional
operation).
|
boolean
|
remove(Object o)
Removes the first occurrence
in this list of the specified
element (optional operation).
|
boolean
|
removeAll(Collection c)
Removes from this list all the
elements that are contained
in the specified collection
(optional operation).
|
boolean
|
retainAll(Collection c)
Retains only the elements in
this list that are contained
in the specified collection
(optional operation).
|
Object
|
set(int index, Object element)
Replaces the element at the
specified position in this list
with the specified element (optional
operation).
|
int
|
size()
Returns the number of elements
in this list.
|
List
|
subList(int fromIndex, int toIndex)
Returns a view of the portion
of this list between the specified fromIndex, inclusive, and toIndex,
exclusive.
|
Object[]
|
toArray()
Returns an array containing
all of the elements in this
list in proper sequence.
|
Object[]
|
toArray(Object[] a)
Returns an array containing
all of the elements in this
list in proper sequence; the
runtime type of the returned
array is that of the specified
array.
|
Unlike sets, lists typically allow
duplicate elements. More formally,
lists typically allow pairs of elements
e1 and e2 such that e1.equals(e2),
and they typically allow multiple
null elements if they allow null elements
at all. It is not inconceivable that
someone might wish to implement a
list that prohibits duplicates, by
throwing runtime exceptions when the
user attempts to insert them, but
we expect this usage to be rare.
The
List interface places additional stipulations,
beyond those specified in the Collection
interface, on the contracts of the
iterator, add, remove, equals, and
hashCode methods. Declarations for
other inherited methods are also included
here for convenience.
The
List interface provides four methods
for positional (indexed) access to
list elements. Lists (like Java arrays)
are zero based. Note that these operations
may execute in time proportional to
the index value for some implementations
(the LinkedList class, for example).
Thus, iterating over the elements
in a list is typically preferable
to indexing through it if the caller
does not know the implementation.
The
List interface provides a special
iterator, called a ListIterator, that
allows element insertion and replacement,
and bidirectional access in addition
to the normal operations that the
Iterator interface provides. A method
is provided to obtain a list iterator
that starts at a specified position
in the list.
The
List interface provides two methods
to search for a specified object.
From a performance standpoint, these
methods should be used with caution.
In many implementations they will
perform costly linear searches.
The
List interface provides two methods
to efficiently insert and remove multiple
elements at an arbitrary point in
the list.
Note:
While it is permissible for lists
to contain themselves as elements,
extreme caution is advised: the equals
and hashCode methods are no longer
well defined on a such a list.
Some
list implementations have restrictions
on the elements that they may contain.
For example, some implementations
prohibit null elements, and some have
restrictions on the types of their
elements. Attempting to add an ineligible
element throws an unchecked exception,
typically NullPointerException or
ClassCastException. Attempting to
query the presence of an ineligible
element may throw an exception, or
it may simply return false; some implementations
will exhibit the former behavior and
some will exhibit the latter. More
generally, attempting an operation
on an ineligible element whose completion
would not result in the insertion
of an ineligible element into the
list may throw an exception or it
may succeed, at the option of the
implementation. Such exceptions are
marked as "optional" in
the specification for this interface.
Explore the other Interface and Classes
of Java Collection Framework
Collection
Interface
Iterator
Interface
Set
Interface
List
Interface
ListIterator
Interface
Map
Interface
SortedSet
Interface
SortedMap
Interface
HashSet
& TreeSet Classes
ArrayList
& LinkedList Classes
HashMap
& Treemap Classes
Vector
and Stack Classes
|
|