因此,这是我第一次使用Java处理Streams。我首先创建了一个包含1000个数字的IntStream。现在,当我执行多个操作时,我遇到了一个错误。在进一步的研究中,我了解到流在一次遍历后就被消耗了,因此我们需要供应商来进行遍历。我尝试了各种方法,但无法为IntStream数字创建供应商。我将不胜感激。请注意,我不需要创建1000个随机数的帮助。相反,我需要帮助来为IntStream创建供应商。
import java.util.Random;
import java.util.stream.IntStream;
import java.util.function.Supplier;
import java.util.stream.Stream;
public class ArrayApplication {
public static void main(String[] args) {
Random rand = new Random();
IntStream numbers = rand.ints(1000, 1, 11);
Supplier<Stream<Integer>> streamSupplier = () -> numbers.boxed();
// The statement below works fine
streamSupplier.get().forEach(System.out::println);
// The statement below doesn't works
System.out.println(streamSupplier.get().count());
}
}
你有尝试过吗?
Supplier<IntStream> streamSupplier = () -> rand.ints(1000,1,11);
如果要重复相同的数字,可以将种子设置为“随机”。
Supplier<IntStream> streamSupplier = () -> {
rand.setSeed(23);
return rand.ints(1000,1,11);
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句