Is it possible to create a Stream from an Iterator, in which the sequence of objects is the same as that generated by calling the iterator's next() method repeatedly? The specific case I am thinking of concerns the use of the iterator returned by TreeSet.descendingIterator(), but I can imagine other circumstances in which an iterator, but not the collection it references, is available.
For example, for a TreeSet<T> tset
we can write tset.stream()...
and get a stream of the objects in that set, in the set's sort order, but what if we want them in a different order, such as that available through using descendingIterator()
? I am imagining something like tset.descendingIterator().stream()...
or stream( tset.descendingIterator() )...
, though neither of these forms are valid.
Best Answer