In this assignment, you will gain experience implementing the java.util.List interface. This includes writing an inner class called Node and another inner class called CS228LinkedListIterator which implements Java's ListIterator interface. You MAY NOT implement the List interface by extending \AbstractCollection", "AbstractList", or any other class. It must be written from scratch. You do not need to write a main method, and it is not a requirement to write a client class. You simply need to write the entire implementation for Java's List and ListIterator interfaces. This includes implementing all required and optional methods (except for the subList and the toArray(Object a) methods).
Each method found in the documentation listed under \Method Summary" must be implemented. This may seem a little daunting at rst since there are many methods, but keep in mind that while some of the methods are tricky, many of them are relatively simple to implement. Also, we have given you many examples of partial implementations of List and ListIterator classes. We highly recommend going to the \Helpful Handouts" section of the discussion board to view these.
They will help you get started on this assignment. Finally, it is not a requirement to write a JUnit test class. However, we recommend writing several test cases to ensure the correctness of your CS228LinkedList data structure.