电商型网站是否是趋势,甘肃建投土木工程建设有限公司网站,网站设计机构排行榜,掘金网站建设有时在我的工作中#xff0c;我需要与其他库集成#xff0c;这些库将返回Iterator对象而不是列表。 从库的角度来看#xff0c;这很好#xff0c;但是当您想在返回的迭代器上使用Java 8流时#xff0c;这可能是个问题。 有一种方法可以将Iterator转换为Iterable #xff… 有时在我的工作中我需要与其他库集成这些库将返回Iterator对象而不是列表。 从库的角度来看这很好但是当您想在返回的迭代器上使用Java 8流时这可能是个问题。 有一种方法可以将Iterator转换为Iterable 然后轻松进行流传输。 由于一直以来我都需要记住如何做因此我决定在这里分享代码段。 IteratorJsonValue iterator elements.iterator();
IterableJsonValue valueIterable () - iterator;ListString StreamSupport.stream(valueIterable.spliterator(), false).map(element - element.asString())
.collect(Collectors.toList()); 在示例中首先我们有一个Iterator类。 由于Iterator不能用作流但是Iterable可以做因此我们只创建一个新的Iterable类该类重写其iterator方法以返回要流式传输的Iterator 。 然后我们有一个Iterable 它还不能流式传输。 因此我们需要使用StreamSupport类将Iterable转换为Stream 。 这样便可以使用所有流操作而没有任何问题。 我们不断学习 亚历克斯 翻译自: https://www.javacodegeeks.com/2018/08/java-iterator-stream.html