带种子的Random
看下面代码
@Test
public void batchSaveTest() {
Random random = new Random();
random.setSeed(10000L);
List<Info> list = new ArrayList<>();
LongStream.range(0L, 5L).forEach(idx -> {
int i = random.nextInt();
System.out.println(i);
});
}
第一次执行的结果
-498702880
-858606152
1942818232
-1044940345
1588429001
第n次执行的结果
-498702880
-858606152
1942818232
-1044940345
1588429001
不带种子的Random
demo代码
@Test
public void batchSaveTest() {
Random random = new Random();
// random.setSeed(10000L);
List<Info> list = new ArrayList<>();
LongStream.range(0L, 5L).forEach(idx -> {
int i = random.nextInt();
System.out.println(i);
});
}
第一次执行的结果
1107659255
-1849065250
2089231810
-1536880265
1030419538
第二次执行的结果
656123826
-1484473582
-1513183651
-1714288334
-1446326780
结论
带种子的随机数生成器,每次生成的随机数可能不同;但每一遍生成的随机数是相同的;
不带种子的随机数生成器每次生成的随机数可能不同;每一遍生成的随机数也可能不同
over~~