List with first and last references : Custom List « Collections Data Structure « Java






List with first and last references

List with first and last references
 
public 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("");
  }

  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 Link {
    public long dData; 
  
    public Link next; 
  
    public Link(long d) {
      dData = d;
    }
  
    public void displayLink() {
      System.out.print(dData + " ");
    }
  }

}


           
         
  








Related examples in the same category

1.Redundancy Checker
2.Doubly-linked list with data structureDoubly-linked list with data structure
3.Sorted listSorted list
4.Frist last list
5.Another Link list
6.A growable array of int values, suitable for use with multiple threads
7.Implements a "rolling list".