我有一些按预期返回 Stream 的代码,但也许可以用某种类型的 lambda 或 stream() 操作替换它,而不是在while
循环中耗尽迭代器?
它只是一种从流中交替元素first
并second
在其中一个元素用完时停止的方法。
public static <T>Stream<T> alternatingSequence(Stream<T> first, Stream<T> second){
Iterator<T> iteratorFirst = first.iterator();
Iterator<T> iteratorSecond = second.iterator();
Stream<T> resultStream = Stream.empty();
while (iteratorFirst.hasNext() && iteratorSecond.hasNext()){
resultStream = Stream.concat(resultStream, Stream.of(iteratorFirst.next(), iteratorSecond.next()));
}
return resultStream;
}
}