If Collection defines hasNext() instead of iterator().hasNext(), we could write loop easier:
while(collection.hasNext()){…}
instead of:
Iterator it= collection.iterator();
While(it.hasNext()){…}
Of course, I know easy way for loop for(E e:collection)
exists.
Why interface Iterator exists?