gpt4 book ai didi

Java - 创建具有给定范围的 IntStream,然后使用映射函数随机化每个元素

转载 作者:搜寻专家 更新时间:2023-11-01 01:04:43 25 4
gpt4 key购买 nike

所以我创建了一个 IntStream,我给它一个 1 - 9 的范围。我希望能够使用 map 函数获取给定范围 (1-9) 中的每个元素并随机化每个元素。

本质上,我想在每次程序运行时以不同的顺序流式传输数字 1 - 9。 (我对其他想法持开放态度,但它必须使用流)。

我听说过使用 Java 的 Random 类,但我不确定如何在每个元素的映射上实现它。

我试过这样做但是有错误:

 IntStream.range(1, 9).map(x -> x = new Random()).forEach(x -> System.out.println(x));

如有任何帮助,我们将不胜感激。

最佳答案

也可以使用 Random.ints 以这种方式完成:

new Random().ints(1,10)
.distinct()
.limit(9)
.forEach(System.out::println);

输出:

9 8 4 2 6 3 5 7 1

编辑

如果您需要一个包含这些值的Stream,那么请执行以下操作:

Stream<Integer> randomInts = new Random().ints(1, 10)
.distinct()
.limit(9)
.boxed();

如果您需要一个包含值的List,那么这样做:

List<Integer> randomInts = new Random().ints(1, 10)
.distinct()
.limit(9)
.boxed()
.collect(Collectors.toList());

关于Java - 创建具有给定范围的 IntStream,然后使用映射函数随机化每个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48192913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com