我有ArrayList这样的:
var amplititudes : ArrayList<Int> = ArrayList()
Run Code Online (Sandbox Code Playgroud)
我想用随机的Ints来填充它.我怎样才能做到这一点?
Md *_*lam 10
一种选择是使用数组构造函数如下:
var amplititudes = IntArray(10) { Random().nextInt() }.asList()
Run Code Online (Sandbox Code Playgroud)
另一个策略是:
var amplititudes = (1..10).map { Random().nextInt() }
Run Code Online (Sandbox Code Playgroud)
编辑
正如评论中所建议的,而不是Random每次创建一个实例,最好初始化一次:
var ran = Random()
var amplititudes = (1..10).map { ran.nextInt() }
Run Code Online (Sandbox Code Playgroud)
根据@Md Johirul Islam的回答,您还可以使用:
val from = 0
val to = 11
var random = Random()
var amplititudes = IntArray(10) { random.nextInt(to - from) + from }.asList()
Run Code Online (Sandbox Code Playgroud)
在此解决方案中,您可以指定所需的整数范围,例如从 0 到 10
自 Kotlin 1.3 发布以来,无需使用 Java java.util.Random,这会将您的代码限制在 JVM 上。相反,kotlin.random.Random它被引入到所有支持 Kotlin 的平台上。
val amplititudes = IntArray(10) { Random.nextInt() }.asList()
Run Code Online (Sandbox Code Playgroud)
由于您使用伴生对象,因此您无需担心Random每次迭代都会实例化一个对象(就像使用 Java 对象时您必须将其放入变量中一样)。
| 归档时间: |
|
| 查看次数: |
2200 次 |
| 最近记录: |