A LongStream static method generate() used to generate sequential unordered stream where each element is generated by the provided LongSupplier. It returns an infinite sequential unordered stream where each element is generated using LongSupplier. It usually used for generating constant streams of random elements etc.
1 static LongStream generate(LongSupplier s)
s : It is the LongSupplier for generated elements.
return : It returns a new infinite sequential unordered LongStream.
LongStream generate() method
1 package com.java;
2
3 import java.util.ArrayList;
4 import java.util.List;
5 import java.util.stream.LongStream;
6
7 public class Main {
8
9 public static void main(String[] args) {
10
11
12 LongStream res = LongStream.generate(() -> (long) (Math.random() * 25));
13
14 List<Long> list = res.limit(10)
15 .collect(ArrayList::new, ArrayList::add, ArrayList::addAll);
16
17 System.out.println("Ten randomly generated numbers are : ");
18 System.out.println(list);
19 }
20 }
In the above example, a LongStream static method generate() called by passing a LongSupplier that generate random number from between 0 and 1 and multiplied by 25 which will generate number between 1 to 25. A stream method limit() called by passing a count as 10 which will limit stream to up to 10 elements. A resulting elements converted to list by using collect() method and print.
1 Ten randomly generated numbers are :
2 [1, 17, 24, 9, 13, 3, 21, 21, 5, 11]
Generate random number from specified values
Generate random number from specified values
1 package com.java;
2
3 import java.util.ArrayList;
4 import java.util.List;
5 import java.util.stream.LongStream;
6
7 public class Main {
8
9 public static void main(String[] args) {
10
11 long[] nums = {21L, 44L, 12L, 44L, 22L, 32L, 65L, 34L, 76L, 32L, 28L};
12
13 LongStream res = LongStream.generate(() -> {
14 int ind = (int) (Math.random() * 11);
15 return nums[ind];
16 });
17
18 List<Long> list = res.limit(10)
19 .collect(ArrayList::new, ArrayList::add, ArrayList::addAll);
20
21 System.out.println("Ten randomly generated numbers are : ");
22 System.out.println(list);
23 }
24 }
In the above example, an array is longs are define define and initialized with 11 elements. A LongStream generate() method called by passing a function that generates random index value using Math random() function and access respective index value from array nums. It a stream limit() method called that limits the stream and a resulting elements are collected and converted to list that print.
1 Ten randomly generated numbers are :
2 [44, 44, 22, 44, 34, 65, 44, 34, 76, 22]
Related options for your search