簡體   English   中英

Kotlin索引不是使用arraylist的范圍

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM