Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 颤振如何生成无重复的随机数_Dart_Flutter - Fatal编程技术网

Dart 颤振如何生成无重复的随机数

Dart 颤振如何生成无重复的随机数,dart,flutter,Dart,Flutter,有没有办法生成不重复的随机数? 例如,我想从1到100生成50个随机数,无重复,有什么方法可以做到这一点,或者每次输入的数字是否已创建时我都必须检查?您可以使用如下代码中的随机数 import 'dart:math'; var list = new List<int>.generate(10, (int index) => index); // [0, 1, 4] list.shuffle(); print(list); import'dart:math'; var lis

有没有办法生成不重复的随机数?
例如,我想从1到100生成50个随机数,无重复,有什么方法可以做到这一点,或者每次输入的数字是否已创建时我都必须检查?

您可以使用如下代码中的随机数

import 'dart:math';

var list = new List<int>.generate(10, (int index) => index); // [0, 1, 4]
list.shuffle();
print(list);
import'dart:math';
var list=新列表。生成(10,(整数索引)=>索引);//[0, 1, 4]
list.shuffle();
打印(列表);
您可以使用Set。每个对象在使用时只能出现一次。试试这个:

Set<int> setOfInts = Set();
while (setOfInts.length < 50) {
  setOfInts.add(Random().nextInt(range) + 1);
}
Set setofits=Set();
while(设置长度<50){
add(Random().nextInt(range)+1);
}

您可以阅读此处的文档:

如果整数的范围很小,则可以使用哈希表保留所有可用数字。然后在随机索引中弹出它。你可以创建一个1到100个数字的整数数组,然后使用shuffle方法对其进行洗牌,并根据需要使用多少数字。洗牌听起来不错。它不是生成相同的数字吗?谢谢你的例子。我能得到前5个乱序数字吗?你可以使用list.sublist(0,5)得到。