Create a List with first and last references in Java

Description

The following code shows how to create a List with first and last references.

Example


// ww  w.  ja va  2  s  .  c  o  m
public class Main{
  public static void main(String[] args) { // make a new list
    FirstLastList theList = new FirstLastList();

    theList.insertFirst(22);
    theList.insertFirst(44);

    theList.insertLast(33);
    theList.insertLast(55);

    theList.displayList();

    theList.deleteFirst();
    theList.deleteFirst();

    theList.displayList();
  } 

}
 
class FirstLastList {
  private Link first; // ref to first link

  private Link last; // ref to last link

  public FirstLastList() {
    first = null; 
    last = null;
  }

  public boolean isEmpty() {
    return first == null;
  }

  public void insertFirst(long dd) {
    Link newLink = new Link(dd); // make new link

    if (isEmpty()) 
      last = newLink; 
    newLink.next = first; 
    first = newLink; 
  }

  public void insertLast(long dd) {
    Link newLink = new Link(dd); 
    if (isEmpty()) 
      first = newLink; 
    else
      last.next = newLink; 
      last = newLink; 
  }

  public long deleteFirst(){ 
    long temp = first.dData;
    if (first.next == null) // if only one item
      last = null; 
    first = first.next; 
    return temp;
  }

  public void displayList() {
    System.out.print("List: ");
    Link current = first; 
    while (current != null)
    {
      current.displayLink(); 
      current = current.next;
    }
    System.out.println("");
  }

  class Link {
    public long dData; 
  
    public Link next; 
  
    public Link(long d) {
      dData = d;
    }
  
    public void displayLink() {
      System.out.print(dData + " ");
    }
  }

}

The code above generates the following result.





















Home »
  Java Tutorial »
    Java Collection »




Java ArrayList
Java Collection
Java Comparable
Java Comparator
Java HashMap
Java HashSet
Java Iterator
Java LinkedHashMap
Java LinkedHashSet
Java LinkedList
Java List
Java ListIterator
Java Map
Queue
Java Set
Stack
Java TreeMap
TreeSet