1: // Version 4.0
2: ListInterface<String> nameList = new LList<>();
3: nameList.add("Jamie");
4: nameList.add("Joey");
5: nameList.add("Rachel");
6:
7: Iterator<String> nameIterator = nameList.iterator();
8:
9: nameIterator.hasNext() // Returns true because a next entry exists.
10: nameIterator.next() // Returns the string Jamie and advances the iterator.
11: nameIterator.next() // Returns the string Joey and advances the iterator.
12: nameIterator.next() // Returns the string Rachel and advances the iterator.
13: nameIterator.hasNext() // Returns false because the iterator is beyond the end of the list.
14: nameIterator.next() // Causes a NoSuchElementException.