LinkedList class

The LinkedList class extends AbstractSequentialList and implements the List, Deque, and Queue interfaces. It provides a linked-list data structure. LinkedList is a generic class that has this declaration:

class LinkedList<E>

E specifies the type of objects that the list will hold.

A demonstration of a linked list of nodes

 
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;

public class Main {
  public static void main(String[] args) {
    List<String> ls = new LinkedList<String>();
    String[] weekDays = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
    for (String weekDay : weekDays){
      ls.add(weekDay);
    }      
    dump("ls:", ls);
    ls.add(1, "A");
    ls.add(3, "B");
    ls.add(5, "C");
    dump("ls:", ls);
    ListIterator<String> li = ls.listIterator(ls.size());
    while (li.hasPrevious()){
      System.out.print(li.previous() + " ");
    } 
  }

  static void dump(String title, List<String> ls) {
    System.out.print(title + " ");
    for (String s : ls){
      System.out.print(s + " ");
    }      
    System.out.println();
  }
}
  

Constructor

LinkedList()
Creates an empty list.
LinkedList(Collection<? extends E> c)
Creates a list containing the elements of the specified collection, in the order they are returned by the collection's iterator.

Add element to LinkedList

boolean add(E e)
Appends the specified element to the end of this list.
void add(int index, E element)
Inserts the specified element at the specified position in this list.
boolean addAll(Collection<? extends E> 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.
boolean addAll(int index, Collection<? extends E> c)
Inserts all of the elements in the specified collection into this list, starting at the specified position.
void addFirst(E e)
Inserts the specified element at the beginning of this list.
void addLast(E e)
Appends the specified element to the end of this list.
boolean offer(E e)
Adds the specified element as the tail (last element) of this list.
boolean offerFirst(E e)
Inserts the specified element at the front of this list.
boolean offerLast(E e)
Inserts the specified element at the end of this list.

Remove all elements from LinkedList

void clear()
Removes all of the elements from this list.

Shallow copy of a LinkedList

Object clone()
Returns a shallow copy of this LinkedList.

If contain a certain element

boolean contains(Object o)
Returns true if this list contains the specified element.

Get iterator from LinkedList

Iterator<E> descendingIterator()
Returns an iterator over the elements in this deque in reverse sequential order.
ListIterator<E> listIterator(int index)
Returns a list-iterator of the elements in this list (in proper sequence), starting at the specified position in the list.

Peek the element

E element()
Retrieves, but does not remove, the head (first element) of this list.
E peek()
Retrieves, but does not remove, the head (first element) of this list.
E peekFirst()
Retrieves, but does not remove, the first element of this list, or returns null if this list is empty.
E peekLast()
Retrieves, but does not remove, the last element of this list, or returns null if this list is empty.

Get the element from LinkedList

E get(int index)
Returns the element at the specified position in this list.
E getFirst()
Returns the first element in this list.
E getLast()
Returns the last element in this list.

Get the index of an element

int indexOf(Object o)
Returns the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element.
int lastIndexOf(Object o)
Returns the index of the last occurrence of the specified element in this list, or -1 if this list does not contain the element.

Poll, pop and push element to a LinkedList

E poll()
Retrieves and removes the head (first element) of this list
E pollFirst()
Retrieves and removes the first element of this list, or returns null if this list is empty.
E pollLast()
Retrieves and removes the last element of this list, or returns null if this list is empty.
E pop()
Pops an element from the stack represented by this list.
void push(E e)
Pushes an element onto the stack represented by this list.

Remove element from a LinkedList

E remove()
Retrieves and removes the head (first element) of this list.
E remove(int index)
Removes the element at the specified position in this list.
boolean remove(Object o)
Removes the first occurrence of the specified element from this list, if it is present.
E removeFirst()
Removes and returns the first element from this list.
boolean removeFirstOccurrence(Object o)
Removes the first occurrence of the specified element in this list (when traversing the list from head to tail).
E removeLast()
Removes and returns the last element from this list.
boolean removeLastOccurrence(Object o)
Removes the last occurrence of the specified element in this list (when traversing the list from head to tail).

Replace the element at the position

E set(int index, E element)
Replaces the element at the specified position in this list with the specified element.

Get the size of a LinkedList

int size()
Returns the number of elements in this list.

Convert LinkedList to Array

Object[] toArray()
Returns an array containing all of the elements in this list in proper sequence (from first to last element).
<T> T[] toArray(T[] a)
Returns an array containing all of the elements in this list in proper sequence (from first to last element); the runtime type of the returned array is that of the specified array.

Because LinkedList implements the Deque interface, you have access to the methods defined by Deque.

For example,

  • To add elements to the start of a list you can use addFirst( ) or offerFirst( ).
  • To add elements to the end of the list, use addLast( ) or offerLast( ).
  • To obtain the first element, you can use getFirst( ) or peekFirst( ).
  • To obtain the last element, use getLast( ) or peekLast( ).
  • To remove the first element, use removeFirst( ) or pollFirst( ).
  • To remove the last element, use removeLast( ) or pollLast( ).
Home 
  Java Book 
    Collection  

LinkedList:
  1. LinkedList class
  2. Create LinkedList
  3. Add element to LinkedList
  4. Remove all elements from LinkedList
  5. Shallow copy of a LinkedList
  6. If contain a certain element
  7. Get iterator from LinkedList
  8. Peek the element
  9. Get the element from LinkedList
  10. Get the index of an element
  11. Poll, pop and push element to a LinkedList
  12. Remove element from a LinkedList
  13. Replace the element at the position
  14. Get the size of a LinkedList
  15. Convert LinkedList to Array
  16. Storing User-Defined Classes in Collections