Like a recent poster, I was in over my head watching a presentation done by someone who is in the Java source code as much as writing Applications, I don't have that link.
I haven't watched tons of his stuff yet, but this guy who teaches programming for a living has several good videos on Spliterators, I think he tries to get things right in his presentations rather than just going for big popularity, as he is a C.S. Professor for his day job (Note, I appreciate everyone trying to educate people for free, but as you know, some people don't bother to learn the material very well before they rush to present it and can accidentally confuse viewers rather badly):
My personal notes page on Iterator types looks like:
Enumeration -- Legacy, do not use in new code
Iterator -- Only goes forward, can look and remove only, but valid for all Collection types
ListIterator -- goes forward and back, can add, remove, update, but only for List
Spliterator -- these things are awesome, go learn about them (TBD)