您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

是否有与带有赋值变量的while等效的Java流

是否有与带有赋值变量的while等效的Java流

首先,感谢@OlivierGrégoire的评论。它改变了我对新知识的答案。

Spliterator为未知的大小编写您自己的nextInts,然后您可以使用StreamSupport#stream创建自己的流nextInts。例如:

generateUntil(this::nextInts, List::isEmpty).forEach(list -> {
    //do works
});

import static java.util.stream.StreamSupport.stream;

<T> Stream<T> generateUntil(final supplier<T> generator, Predicate<T> stop) {
    long unkNownSize = Long.MAX_VALUE;

    return stream(new AbstractSpliterator<T>(unkNownSize, Spliterator.ORDERED) {
        @Override
        public boolean tryAdvance(Consumer<? super T> action) {
            T value = generator.get();

            if (stop.test(value)) {
                return false;
            }

            action.accept(value);
            return true;
        }
    }, false);
}
java 2022/1/1 18:31:51 有476人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶