如何使用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
并获得int使用的数组
int[] numbers = new Random().ints(0,350).limit(10).toArray();