如何从迭代器创建一个Java 8 Stream?

19 浏览
0 Comments

如何从迭代器创建一个Java 8 Stream?

是否有可能从一个迭代器中创建一个流,其中对象的顺序与通过调用迭代器的next()方法重复生成的顺序相同?我正在考虑的具体情况涉及使用TreeSet.descendingIterator()返回的迭代器,但我可以想象其他情况下迭代器可用但不是集合的引用。

例如,对于一个TreeSet tset,我们可以编写tset.stream()...并获得该集合中对象的流,按照集合的排序顺序排列,但如果我们希望按照不同的顺序排列,比如通过使用descendingIterator()可用的顺序,该怎么办?我想象的是类似于tset.descendingIterator().stream()...或stream(tset.descendingIterator())...这样的形式,但这两种形式都是无效的。

0