这里的+=做什么?这是指附加到列表中吗?如果maxNodes=16,那么下面的行是否意味着值0到15存储在NodeList中?还是0到16?
var Nodelist = new ArrayBuffer[Int]()
for (i <- 0 until maxNodes) {
Nodelist += i
}
您只是将变量i
中的Integer
值追加到列表中。为什么不在REPL中尝试一下呢?
根据Javadoc,ArrayBuffer
中的+=
是一个"别名";对于CCD_ 5。所以一开始NodeList
是空的(我宁愿称之为nodeList
(。在For循环的第一次执行中,整数0被添加到NodeList
。在下一次循环中,整数1将被添加到NodeList
,依此类推。由于您使用的是until
而不是to
,因此迭代将在maxNodes
之前停止一次。