从kotlin 1.2开始,您可以这样写:
(1..3)。洗牌()。last()
请注意,它是大O(n),但对于一个小列表(尤其是唯一值),它是可以的:D
在from
(包含)和to
(排除)之间生成一个随机整数
import java.util.Random
val random = Random()
fun rand(from: Int, to: Int) : Int {
return random.nextInt(to - from) + from
}
我的建议是在IntRange上使用一个扩展函数来创建这样的随机数:(0..10)。random()
从1.3开始,Kotlin自带了自己的多平台随机生成器。这本书对它进行了描述。下面描述的扩展现在是Kotlin标准库的一部分,只需像这样使用它:
val rnds = (0..10).random() // generated random from 0 to 10 included
如果我们在JDK上使用随机代码
fun IntRange.random() =
Random().nextInt((endInclusive + 1) - start) + start
像这样使用:
// will return an `Int` between 0 and 10 (incl.)
(0..10).random()
如果您希望函数只返回1, 2, ..., 9
(10
不包括在内),请使用构造的范围,直到
:
(0 until 10).random()
如果你在与JDK合作
KotlinJs和其他变体
对于kotlinjs和其他不允许使用java.util.Random
的用例,请参阅此替代方案。
此外,有关我的建议的变体,请参阅此答案。它还包括随机Char
s的扩展函数。
我在Firestore有一个项目: 我需要获取数组“Personal”并在列表视图中显示它,我在这里看到一个类似的例子,从Firestore获取一个ArrayList和文档名,我尝试了这个解决方案。。。 Android Studio不显示错误,但试着运行应用程序,结果停止了,有人能帮我吗?
如何获取已设置为ImageView的可绘图文件的名称?
问题内容: 我想要一个可以调用以随机或每次调用的函数: 如何返回随机布尔值? 问题答案: 您需要某种随机信息,并且根据其值,可以在一半的可能情况下返回它,而在另一半情况下可以返回。 使用一个非常简单的例子中的包: 不要忘记使用以下方法正确打包程序包,以使其在每次运行的应用程序中都不同: 这是在的doc文件中提到的: 如果每次运行需要不同的行为,请使用种子函数初始化默认的源。 如果不设置种子,则每次
从Scala列表开始。 如何将其转换为可遍历一次?
我有“下载正在进行文件”对话框活动。当用户按下“隐藏”按钮时,活动将创建通知和隐藏进度对话框。并且当用户单击到通知时,活动显示进度对话框再次出现在活动中。我如何在按下按钮“后退”时切换活动到后退任务?