编程语言
首页 > 编程语言> > java – 有没有办法重用一个Stream?

java – 有没有办法重用一个Stream?

作者:互联网

我正在学习新的Java 8功能,在尝试使用流(java.util.stream.Stream)和收集器时,我意识到流不能使用两次.

有没有办法重复使用它?

解决方法:

如果您想要重用流,可以将流表达式包装在供应商中,并在需要新的时调用myStreamSupplier.get().例如:

Supplier<Stream<String>> sup = () -> someList.stream();
List<String> nonEmptyStrings = sup.get().filter(s -> !s.isEmpty()).collect(Collectors.toList());
Set<String> uniqueStrings = sup.get().collect(Collectors.toSet());

标签:java,java-stream,reusability
来源: https://codeday.me/bug/20190930/1835435.html