我应该做的是通过stream.generate创建随机数的ArrayList。下面的代码是我尝试将其保存到ArrayList中的尝试,但它的类型为" object"。我想我必须先以某种方式将它映射到int,但我不知道如何。现在的代码不起作用。
public ArrayList<Integer> createRandomList(ArrayList<Integer> list, int amount) {
ArrayList<Integer> a = Arrays.asList(Stream.generate(new Supplier<Integer>() {
@Override
public Integer get() {
Random rnd = new Random();
return rnd.nextInt(100000);
}
}).limit(amount).mapToInt.toArray());
}
答案 0 :(得分:3)
您可以使用收藏家:
return Stream.generate (() -> new Random().nextInt(100000))
.limit(amount)
.collect (Collectors.toList());
这会产生List<Integer>
,但不一定是ArrayList<Integer>
。
创建单个Random实例会更有意义:
final Random rnd = new Random();
return Stream.generate (() -> rnd.nextInt(100000))
.limit(amount)
.collect (Collectors.toList());
答案 1 :(得分:2)