edu.emory.mathcs.backport.java.util

Class LinkedList

Implemented Interfaces:
Cloneable, Collection, List, Deque, Queue, Serializable

public class LinkedList
extends AbstractSequentialList
implements List, Deque, Cloneable, Serializable

Constructor Summary

LinkedList()
LinkedList(Collection c)

Method Summary

boolean
add(Object o)
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 throwing an IllegalStateException if no space is currently available.
void
add(int index, Object element)
boolean
addAll(Collection c)
boolean
addAll(int index, Collection c)
void
addFirst(Object e)
Inserts the specified element at the front of this deque if it is possible to do so immediately without violating capacity restrictions.
void
addLast(Object e)
Inserts the specified element at the end of this deque if it is possible to do so immediately without violating capacity restrictions.
void
clear()
Object
clone()
boolean
contains(Object o)
Returns true if this deque contains the specified element.
Iterator
descendingIterator()
Returns an iterator over the elements in this deque in reverse sequential order.
Object
element()
Retrieves, but does not remove, the head of the queue represented by this deque (in other words, the first element of this deque).
Object
get(int index)
Object
getFirst()
Retrieves, but does not remove, the first element of this deque.
Object
getLast()
Retrieves, but does not remove, the last element of this deque.
int
indexOf(Object o)
boolean
isEmpty()
int
lastIndexOf(Object o)
ListIterator
listIterator()
ListIterator
listIterator(int index)
boolean
offer(Object e)
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.
boolean
offerFirst(Object e)
Inserts the specified element at the front of this deque unless it would violate capacity restrictions.
boolean
offerLast(Object e)
Inserts the specified element at the end of this deque unless it would violate capacity restrictions.
Object
peek()
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.
Object
peekFirst()
Retrieves, but does not remove, the first element of this deque, or returns null if this deque is empty.
Object
peekLast()
Retrieves, but does not remove, the last element of this deque, or returns null if this deque is empty.
Object
poll()
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.
Object
pollFirst()
Retrieves and removes the first element of this deque, or returns null if this deque is empty.
Object
pollLast()
Retrieves and removes the last element of this deque, or returns null if this deque is empty.
Object
pop()
Pops an element from the stack represented by this deque.
void
push(Object e)
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.
Object
remove()
Retrieves and removes the head of the queue represented by this deque (in other words, the first element of this deque).
boolean
remove(Object o)
Removes the first occurrence of the specified element from this deque.
Object
remove(int index)
Object
removeFirst()
Retrieves and removes the first element of this deque.
boolean
removeFirstOccurrence(Object o)
Removes the first occurrence of the specified element from this deque.
Object
removeLast()
Retrieves and removes the last element of this deque.
boolean
removeLastOccurrence(Object o)
Removes the last occurrence of the specified element from this deque.
Object
set(int index, Object element)
int
size()
Returns the number of elements in this deque.
Object[]
toArray()
Object[]
toArray(Object[] a)

Constructor Details

LinkedList

public LinkedList()

LinkedList

public LinkedList(Collection c)

Method Details

add

public boolean add(Object o)
Specified by:
add in interface Deque
add in interface Queue
Parameters:
Returns:
true (as specified by java.util.Collection.add)

add

public void add(int index,
                Object element)

addAll

public boolean addAll(Collection c)

addAll

public boolean addAll(int index,
                      Collection c)

addFirst

public void addFirst(Object e)
Specified by:
addFirst in interface Deque
Parameters:
e - the element to add

addLast

public void addLast(Object e)
Specified by:
addLast in interface Deque
Parameters:
e - the element to add

clear

public void clear()

clone

public Object clone()

contains

public boolean contains(Object o)
Returns true if this deque contains the specified element. More formally, returns true if and only if this deque contains at least one element e such that (o==null ? e==null : o.equals(e)).
Specified by:
contains in interface Deque
Parameters:
o - element whose presence in this deque is to be tested
Returns:
true if this deque contains the specified element

descendingIterator

public Iterator descendingIterator()
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).
Specified by:
descendingIterator in interface Deque
Returns:
an iterator over the elements in this deque in reverse sequence

element

public Object element()
Specified by:
element in interface Deque
element in interface Queue
Returns:
the head of the queue represented by this deque

get

public Object get(int index)

getFirst

public Object getFirst()
Specified by:
getFirst in interface Deque
Returns:
the head of this deque

getLast

public Object getLast()
Specified by:
getLast in interface Deque
Returns:
the tail of this deque

indexOf

public int indexOf(Object o)

isEmpty

public boolean isEmpty()

lastIndexOf

public int lastIndexOf(Object o)

listIterator

public ListIterator listIterator()

listIterator

public ListIterator listIterator(int index)

offer

public boolean offer(Object e)
Specified by:
offer in interface Deque
offer in interface Queue
Parameters:
e - the element to add
Returns:
true if the element was added to this deque, else false

offerFirst

public boolean offerFirst(Object e)
Specified by:
offerFirst in interface Deque
Parameters:
e - the element to add
Returns:
true if the element was added to this deque, else false

offerLast

public boolean offerLast(Object e)
Specified by:
offerLast in interface Deque
Parameters:
e - the element to add
Returns:
true if the element was added to this deque, else false

peek

public Object peek()
Specified by:
peek in interface Deque
peek in interface Queue
Returns:
the head of the queue represented by this deque, or null if this deque is empty

peekFirst

public Object peekFirst()
Retrieves, but does not remove, the first element of this deque, or returns null if this deque is empty.
Specified by:
peekFirst in interface Deque
Returns:
the head of this deque, or null if this deque is empty

peekLast

public Object peekLast()
Retrieves, but does not remove, the last element of this deque, or returns null if this deque is empty.
Specified by:
peekLast in interface Deque
Returns:
the tail of this deque, or null if this deque is empty

poll

public Object poll()
Specified by:
poll in interface Deque
poll in interface Queue
Returns:
the first element of this deque, or null if this deque is empty

pollFirst

public Object pollFirst()
Retrieves and removes the first element of this deque, or returns null if this deque is empty.
Specified by:
pollFirst in interface Deque
Returns:
the head of this deque, or null if this deque is empty

pollLast

public Object pollLast()
Retrieves and removes the last element of this deque, or returns null if this deque is empty.
Specified by:
pollLast in interface Deque
Returns:
the tail of this deque, or null if this deque is empty

pop

public Object pop()
Specified by:
pop in interface Deque
Returns:
the element at the front of this deque (which is the top of the stack represented by this deque)

push

public void push(Object e)
Specified by:
push in interface Deque
Parameters:
e - the element to push

remove

public Object remove()
Specified by:
remove in interface Deque
remove in interface Queue
Returns:
the head of the queue represented by this deque

remove

public boolean remove(Object o)
Specified by:
remove in interface Deque
Parameters:
o - element to be removed from this deque, if present
Returns:
true if an element was removed as a result of this call

remove

public Object remove(int index)

removeFirst

public Object removeFirst()
Retrieves and removes the first element of this deque. This method differs from pollFirst only in that it throws an exception if this deque is empty.
Specified by:
removeFirst in interface Deque
Returns:
the head of this deque

removeFirstOccurrence

public boolean removeFirstOccurrence(Object o)
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).
Specified by:
removeFirstOccurrence in interface Deque
Parameters:
o - element to be removed from this deque, if present
Returns:
true if an element was removed as a result of this call

removeLast

public Object removeLast()
Retrieves and removes the last element of this deque. This method differs from pollLast only in that it throws an exception if this deque is empty.
Specified by:
removeLast in interface Deque
Returns:
the tail of this deque

removeLastOccurrence

public boolean removeLastOccurrence(Object o)
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).
Specified by:
removeLastOccurrence in interface Deque
Parameters:
o - element to be removed from this deque, if present
Returns:
true if an element was removed as a result of this call

set

public Object set(int index,
                  Object element)

size

public int size()
Returns the number of elements in this deque.
Specified by:
size in interface Deque
Returns:
the number of elements in this deque

toArray

public Object[] toArray()

toArray

public Object[] toArray(Object[] a)