Linked Lists

File IntList.java contains definitions for a linked list of integers. The class contains an inner class IntNode, which holds information for a single node in the list (a node has a value and a reference to the next node) and the following IntList methods: File IntListTest.java contains a driver that allows you to experiment with these methods. Save both of these files to your directory, compile and run IntListTest, and play around with it to see how it works. Then add the following methods to the IntList class. For each, add an option to the driver to test it.
  1. public int length() -- returns the number of elements in the list

  2. public String toString() -- returns a String containing the print value of the list.

  3. public void removeLast() -- removes the last element of the list. If the list is empty, does nothing.

  4. public void replace(int oldVal, int newVal) -- replaces all occurrences of oldVal in the list with newVal. Note that you can still use the old nodes; just replace the values stored in those nodes.