如何使用Stream API Java 8生成随机数组的int?

我试图在Java 8中使用新的Stream API生成随机的整数数组。但是我还没有清楚地理解这个API。 所以我需要帮助。 这是我的代码。

Random random = new Random(); IntStream intStream = random.ints(low, high); int[] array = intStream.limit(limit) // Limit amount of elements .boxed() // cast to Integer .toArray(); 

但是这段代码返回了一些对象。 这有什么问题?

只需使用Random.ints返回一个IntStream :

 int[] array = new Random().ints(limit, low, high).toArray(); 

boxed()没有理由。 只需将Stream作为int[]接收。

 int[] array = intStream.limit(limit).toArray(); 

你可以使用ThreadLocalRandom来完成它。

 int[] randInts = ThreadLocalRandom.current().ints().limit(100).toArray(); 

要生成范围0到350的随机数,请将结果限制为10,并作为列表收集。 后来它可能是typecasted。

但是,对返回的List的类型,可变性,可序列化或线程安全性没有任何保证。

 List numbers = new Random().ints(0,350).limit(10).boxed().collect(Collectors.toList()); 

并获得int使用的数组

 int[] numbers = new Random().ints(0,350).limit(10).toArray();