问题描述
+ =在这里做什么?这是否意味着追加到列表? 如果maxNodes = 16,以下几行是否表示将0到15的值存储在NodeList中?还是0到16?
var Nodelist = new ArrayBuffer[Int]()
for (i <- 0 until maxNodes) {
Nodelist += i
}
解决方法
您只是将变量Integer
中的i
值附加到列表中。为什么不在REPL中尝试呢?
According to the Javadoc,+=
中的ArrayBuffer
是addOne()
的“别名”。因此,一开始NodeList
为空(我宁愿称其为nodeList
)。第一次在For循环中,将整数0添加到NodeList
中。下一步,将整数1添加到NodeList
中,依此类推。由于您使用的是until
而不是to
,因此迭代将比maxNodes
短一秒。