You may be wondering why we’re not using the Java Iterator interface – we did that so you could see how to build an iterator from scratch. Now that we’ve done that, we’re going to switch to using the Java Iterator interface, because we’ll get a lot of leverage by implementing that instead of our home grown Iterator interface. What kind of leverage? You’ll soon see. First, let’s check out the java.util.Iterator interface: