在Java 8中,Stream
该类没有任何方法来包装Iterable
.
相反,我Spliterator
从这里Iterable
获得了,然后Stream
从StreamSupport
这样获得一个:
boolean parallel = true; StreamSupport.stream(spliterator(), parallel) .filter(Row::isEmpty) .collect(Collectors.toList()) .forEach(this::deleteRow);
是否有产生的一些其他的方式Stream
上的操作Iterable
,我很想念?
我的类似问题被标记为重复,但这里是我用来避免一些样板的辅助方法:
public static <T> Stream<T> stream(Iterable<T> in) { return StreamSupport.stream(in.spliterator(), false); } public static <T> Stream<T> parallelStream(Iterable<T> in) { return StreamSupport.stream(in.spliterator(), true); }