[英]Kotlin index is not out of bounds using arraylist
我創建了一個包含4個項目的arraylist
val myList = arrayListOf("Item1", "Item2", "Item3", "Item4")
然后我從myList打印了一個隨機項目
val randomNum = Random()
val randomItem = randomNum.nextInt(myList.count())
println(myList[randomItem])
這不應該失敗嗎? 一旦randomItem等於4? 理想情況下,我要問的是randomItem從0-4返回一個整數,對嗎? 但是arraylist索引僅為0-3。 我應該對randomItem做-1嗎? 我只是感到困惑,因為程序沒有引發錯誤。
請參閱此處的API Random.nextInt(int bound)
public int nextInt(int綁定)
從該隨機數生成器的序列中返回一個偽隨機數, 該整數值在0(含)和指定值(不含)之間均勻分布 。 nextInt的一般約定是偽隨機生成並返回指定范圍內的一個int值。 所有綁定的可能的int值均以(近似)相等的概率產生。
參數 :bound-上限( 不包括 )。 必須是積極的。
返回 :下一個偽隨機數,此隨機數生成器的序列在0(含)和有界(不含)之間均勻分布的int值
所以你的情況是0、1、2或3
該文檔對其進行了很好的解釋:
int nextInt(int bound)
從該隨機數生成器的序列中返回一個偽隨機數,該整數值在0(含)和指定值(不含)之間均勻分布。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.