Java 8。
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();
0から350の範囲の乱数を生成し、結果を10に制限して、リストとして収集します。後で型キャストできました。
ただし、返されるリストの型、可変性、直列化可能性、スレッドセーフ性については保証されません。
List<Object> numbers = new Random().ints(0,350).limit(10).boxed().collect(Collectors.toList());
int使用の配列を取得する
int[] numbers = new Random().ints(0,350).limit(10).toArray();
ThreadLocalRandom
を使用して実行できます。
int[] randInts = ThreadLocalRandom.current().ints().limit(100).toArray();