Why Iterator<E> iterator() is put in Collection, AbstractCollection when already in Iterable [duplicate]

StackOverflow https://stackoverflow.com/questions/19211859

  •  30-06-2022
  •  | 
  •  

Question

When Iterator iterator() is put in Iterable interface and this is extended by Collection interface and AbstractCollection interface, why this is again mentioned in Collection/AbstractCollection as no definition is given for this in abstract class.

Please help me to understand what I am missing in this from design perspective

Was it helpful?

Solution

The iterator() appears in Iterator and Collection as the Javadoc is different. In AbstractCollection it is different again, but doesn't appear to add much value.

OTHER TIPS

Well Iterable is since 1.5 whereas Iterator and Collection are since 1.2. Not sure why AbstractCollection defines it again though, it's javadoc is slightly different though.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top