This is basically Spliterator, an iterator + a size, with the iterator is "push" instead 
of "pull" because it's more efficient.

In details a Spliterator is either
- an Iterable (with no SIZED characteristic)
- an Iterable + size (if SIZED and estimateSize() != Long.MAX_VALUE)
- an Iterable + comparator (if SORTED and comparator != null)
- an Iterable + split (if trySplit != null)

and all combinations of the above.

So, you're asking for Spliterable<T>, no?   :)

Reply via email to