java.lang.Object | ||||
↳ | java.util.AbstractCollection<E> | |||
↳ | java.util.AbstractList<E> | |||
↳ | java.util.AbstractSequentialList<E> | |||
↳ | java.util.LinkedList<E> |
LinkedList is an implementation of List
, backed by a doubly-linked list.
All optional operations including adding, removing, and replacing elements are supported.
All elements are permitted, including null.
This class is primarily useful if you need queue-like behavior. It may also be useful
as a list if you expect your lists to contain zero or one element, but still require the
ability to scale to slightly larger numbers of elements. In general, though, you should
probably use ArrayList
if you don't need the queue-like behavior.
[Expand]
Inherited Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.util.AbstractList
|
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Constructs a new empty instance of
LinkedList . | |||||||||||
Constructs a new instance of
LinkedList that holds all of the
elements contained in the specified collection . |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Adds the specified object at the end of this
LinkedList . | |||||||||||
Inserts the specified object into this
LinkedList at the
specified location. | |||||||||||
Adds the objects in the specified Collection to this
LinkedList . | |||||||||||
Inserts the objects in the specified collection at the specified location
in this
LinkedList . | |||||||||||
Adds the specified object at the beginning of this
LinkedList . | |||||||||||
Adds the specified object at the end of this
LinkedList . | |||||||||||
Removes all elements from this
LinkedList , leaving it empty. | |||||||||||
Returns a new
LinkedList with the same elements and size as this
LinkedList . | |||||||||||
Searches this
LinkedList for the specified object. | |||||||||||
Returns an iterator over the elements in this deque in reverse
sequential order.
| |||||||||||
Retrieves, but does not remove, the head of the queue represented by
this deque (in other words, the first element of this deque).
| |||||||||||
Returns the element at the specified location in this list.
| |||||||||||
Returns the first element in this
LinkedList . | |||||||||||
Returns the last element in this
LinkedList . | |||||||||||
Searches this list for the specified object and returns the index of the
first occurrence.
| |||||||||||
Searches this
LinkedList for the specified object and returns the
index of the last occurrence. | |||||||||||
Returns a ListIterator on the elements of this
LinkedList . | |||||||||||
Inserts the specified element into the queue represented by this deque
(in other words, at the tail of this deque) if it is possible to do so
immediately without violating capacity restrictions, returning
true upon success and false if no space is currently
available.
| |||||||||||
Inserts the specified element at the front of this deque unless it would
violate capacity restrictions.
| |||||||||||
Inserts the specified element at the end of this deque unless it would
violate capacity restrictions.
| |||||||||||
Retrieves, but does not remove, the head of the queue represented by
this deque (in other words, the first element of this deque), or
returns null if this deque is empty.
| |||||||||||
Retrieves, but does not remove, the first element of this deque,
or returns null if this deque is empty.
| |||||||||||
Retrieves, but does not remove, the last element of this deque,
or returns null if this deque is empty.
| |||||||||||
Retrieves and removes the head of the queue represented by this deque
(in other words, the first element of this deque), or returns
null if this deque is empty.
| |||||||||||
Retrieves and removes the first element of this deque,
or returns null if this deque is empty.
| |||||||||||
Retrieves and removes the last element of this deque,
or returns null if this deque is empty.
| |||||||||||
Pops an element from the stack represented by this deque.
| |||||||||||
Pushes an element onto the stack represented by this deque (in other
words, at the head of this deque) if it is possible to do so
immediately without violating capacity restrictions, returning
true upon success and throwing an
IllegalStateException if no space is currently available.
| |||||||||||
Retrieves and removes the head of the queue represented by this deque
(in other words, the first element of this deque).
| |||||||||||
Removes the object at the specified location from this
LinkedList . | |||||||||||
Removes one instance of the specified object from this
Collection if one
is contained (optional). | |||||||||||
Removes the first object from this
LinkedList . | |||||||||||
Removes the first occurrence of the specified element from this deque.
| |||||||||||
Removes the last object from this
LinkedList . | |||||||||||
Removes the last occurrence of the specified element from this deque.
| |||||||||||
Replaces the element at the specified location in this
LinkedList
with the specified object. | |||||||||||
Returns the number of elements in this
LinkedList . | |||||||||||
Returns an array containing all elements contained in this
LinkedList . | |||||||||||
Returns a new array containing all elements contained in this
LinkedList . |
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.util.AbstractSequentialList
| |||||||||||
From class
java.util.AbstractList
| |||||||||||
From class
java.util.AbstractCollection
| |||||||||||
From class
java.lang.Object
| |||||||||||
From interface
java.lang.Iterable
| |||||||||||
From interface
java.util.Collection
| |||||||||||
From interface
java.util.Deque
| |||||||||||
From interface
java.util.List
| |||||||||||
From interface
java.util.Queue
|
Constructs a new instance of LinkedList
that holds all of the
elements contained in the specified collection
. The order of the
elements in this new LinkedList
will be determined by the
iteration order of collection
.
collection | the collection of elements to add. |
---|
Adds the specified object at the end of this LinkedList
.
object | the object to add. |
---|
Inserts the specified object into this LinkedList
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
LinkedList
, the object is added at the end.
location | the index at which to insert. |
---|---|
object | the object to add. |
IndexOutOfBoundsException | if location < 0 || >= size()
|
---|
Adds the objects in the specified Collection to this LinkedList
.
collection | the collection of objects. |
---|
true
if this LinkedList
is modified,
false
otherwise.
Inserts the objects in the specified collection at the specified location
in this LinkedList
. 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 LinkedList
is modified,
false
otherwise.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()
|
Adds the specified object at the beginning of this LinkedList
.
object | the object to add. |
---|
Adds the specified object at the end of this LinkedList
.
object | the object to add. |
---|
Returns a new LinkedList
with the same elements and size as this
LinkedList
.
LinkedList
.Searches this LinkedList
for the specified object.
object | the object to search for. |
---|
true
if object
is an element of this
LinkedList
, false
otherwise
Returns an iterator over the elements in this deque in reverse sequential order. The elements will be returned in order from last (tail) to first (head).
Retrieves, but does not remove, the head of the queue represented by
this deque (in other words, the first element of this deque).
This method differs from peek
only in that it throws an
exception if this deque is empty.
This method is equivalent to getFirst()
.
Returns the element at the specified location in this list.
location | the index of the element to return. |
---|
Returns the first element in this LinkedList
.
NoSuchElementException | if this LinkedList is empty.
|
---|
Returns the last element in this LinkedList
.
NoSuchElementException | if this LinkedList is empty
|
---|
Searches this list for the specified object and returns the index of the first occurrence.
object | the object to search for. |
---|
Searches this LinkedList
for the specified object and returns the
index of the last occurrence.
object | the object to search for |
---|
Returns a ListIterator on the elements of this LinkedList
. The
elements are iterated in the same order that they occur in the
LinkedList
. The iteration starts at the specified location.
location | the index at which to start the iteration |
---|
LinkedList
IndexOutOfBoundsException | if location < 0 || >= size() |
---|
Inserts the specified element into the queue represented by this deque
(in other words, at the tail of this deque) if it is possible to do so
immediately without violating capacity restrictions, returning
true upon success and false if no space is currently
available. When using a capacity-restricted deque, this method is
generally preferable to the add(E)
method, which can fail to
insert an element only by throwing an exception.
This method is equivalent to offerLast(E)
.
o | the element to add |
---|
Inserts the specified element at the front of this deque unless it would
violate capacity restrictions. When using a capacity-restricted deque,
this method is generally preferable to the addFirst(E)
method,
which can fail to insert an element only by throwing an exception.
e | the element to add |
---|
Inserts the specified element at the end of this deque unless it would
violate capacity restrictions. When using a capacity-restricted deque,
this method is generally preferable to the addLast(E)
method,
which can fail to insert an element only by throwing an exception.
e | the element to add |
---|
Retrieves, but does not remove, the head of the queue represented by this deque (in other words, the first element of this deque), or returns null if this deque is empty.
This method is equivalent to peekFirst()
.
Retrieves, but does not remove, the first element of this deque, or returns null if this deque is empty.
Retrieves, but does not remove, the last element of this deque, or returns null if this deque is empty.
Retrieves and removes the head of the queue represented by this deque (in other words, the first element of this deque), or returns null if this deque is empty.
This method is equivalent to pollFirst()
.
Retrieves and removes the first element of this deque, or returns null if this deque is empty.
Retrieves and removes the last element of this deque, or returns null if this deque is empty.
Pops an element from the stack represented by this deque. In other words, removes and returns the first element of this deque.
This method is equivalent to removeFirst()
.
Pushes an element onto the stack represented by this deque (in other words, at the head of this deque) if it is possible to do so immediately without violating capacity restrictions, returning true upon success and throwing an IllegalStateException if no space is currently available.
This method is equivalent to addFirst(E)
.
e | the element to push |
---|
Retrieves and removes the head of the queue represented by this deque
(in other words, the first element of this deque).
This method differs from poll
only in that it throws an
exception if this deque is empty.
This method is equivalent to removeFirst()
.
Removes the object at the specified location from this LinkedList
.
location | the index of the object to remove |
---|
IndexOutOfBoundsException | if location < 0 || >= size()
|
---|
Removes one instance of the specified object from this 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.
object | the object to remove. |
---|
true
if this Collection
is modified, false
otherwise.Removes the first object from this LinkedList
.
NoSuchElementException | if this LinkedList is empty.
|
---|
Removes the first occurrence of the specified element from this deque. If the deque does not contain the element, it is unchanged. More formally, removes the first element e such that (o==null ? e==null : o.equals(e)) (if such an element exists). Returns true if this deque contained the specified element (or equivalently, if this deque changed as a result of the call).
o | element to be removed from this deque, if present |
---|
Removes the last object from this LinkedList
.
NoSuchElementException | if this LinkedList is empty.
|
---|
Removes the last occurrence of the specified element from this deque. If the deque does not contain the element, it is unchanged. More formally, removes the last element e such that (o==null ? e==null : o.equals(e)) (if such an element exists). Returns true if this deque contained the specified element (or equivalently, if this deque changed as a result of the call).
o | element to be removed from this deque, if present |
---|
Replaces the element at the specified location in this LinkedList
with the specified object.
location | the index at which to put the specified object. |
---|---|
object | the object to add. |
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 the number of elements in this LinkedList
.
LinkedList
.
Returns an array containing all elements contained in this
LinkedList
. 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
LinkedList
, the array element following the collection elements
is set to null.
contents | the array. |
---|
LinkedList
.ArrayStoreException | if the type of an element in this LinkedList cannot
be stored in the type of the specified array.
|
---|
Returns a new array containing all elements contained in this
LinkedList
.
LinkedList
.