bas*_*s3l 6 java eclipse java-8 java-stream
我目前正在准备考试,并且正在执行以下任务:
生成包含整数的无限流
(0, 1, -1, 2, -2, 3, -3, ...)。
跟随流生成普通的无限流:
Stream<Integer> infiniteStream = Stream.iterate(1, i -> i + 1);
Run Code Online (Sandbox Code Playgroud)
是否存在同时生成正数和负数的方法或lambda表达式?
像这样:
Stream<Integer> infiniteStream = Stream.iterate(1, i -> i > 0 ? -i : (-i + 1));
Run Code Online (Sandbox Code Playgroud)
或者,如果您希望以0:
Stream<Integer> infiniteStream = Stream.iterate(0, i -> i > 0 ? -i : (-i + 1));
Run Code Online (Sandbox Code Playgroud)
当然,这也可以使用IntStream:
IntStream infiniteStream = IntStream.iterate(0, i -> i > 0 ? -i : (-i + 1));
Run Code Online (Sandbox Code Playgroud)