我目前正在准备考试,并且正在执行以下任务:



跟随流生成普通的无限流:

Stream<Integer> infiniteStream = Stream.iterate(1, i -> i + 1);

是否存在同时生成正数和负数的方法或lambda表达式?

最佳答案

像这样的东西:

Stream<Integer> infiniteStream = Stream.iterate(1, i -> i > 0 ? -i : (-i + 1));

或者,如果您希望以0开头:
Stream<Integer> infiniteStream = Stream.iterate(0, i -> i > 0 ? -i : (-i + 1));

当然,这也可以使用IntStream完成:
IntStream infiniteStream = IntStream.iterate(0, i -> i > 0 ? -i : (-i + 1));

09-10 13:31
查看更多