List 什么是+;=您在Scala中为列表做什么?

List 什么是+;=您在Scala中为列表做什么?,list,scala,append,prepend,List,Scala,Append,Prepend,+=在这里做什么?这是否意味着附加到列表中? 如果maxNodes=16,下面的几行是否表示值0到15存储在NodeList中?还是0比16 var Nodelist = new ArrayBuffer[Int]() for (i <- 0 until maxNodes) {      Nodelist += i    } var Nodelist=new ArrayBuffer[Int]() 对于(i您只是将变量i中的整数值添加到列表中。为什么不在REPL中尝试此操

+=在这里做什么?这是否意味着附加到列表中? 如果maxNodes=16,下面的几行是否表示值0到15存储在NodeList中?还是0比16

var Nodelist = new ArrayBuffer[Int]()
for (i <- 0 until maxNodes) {     
          Nodelist += i  
 }
var Nodelist=new ArrayBuffer[Int]()

对于(i您只是将变量
i
中的
整数值添加到列表中。为什么不在REPL中尝试此操作?

您只是将变量
i
中的
整数值添加到列表中。为什么不在REPL中尝试此操作?

ArrayBuffer
中的
+
addOne()的“别名”
。所以在开始时,
节点列表
是空的(我宁愿称它为
节点列表
)。在For循环的第一次循环中,整数0被添加到
NodeList
。在下一次循环中,整数1将被添加到
NodeList
,依此类推。由于您在
中使用了
直到
而不是
,因此迭代将在
maxNodes
+=
数组中停止一次
addOne()
的“别名”。因此在开始时
NodeList
是空的(我宁愿称之为
NodeList
)。在For循环的第一次循环中,整数0被添加到
节点列表
。在下一次循环中,整数1将被添加到
节点列表
,依此类推。由于您使用了
直到
而不是
,因此迭代将在
最大节点
之前停止一次。您为什么要问这个问题?当n你试试看?你有什么错误吗?你没有得到你期望的结果吗?你不明白你得到的结果吗?@AlonsodelArte
ArrayBuffer
是可变的。顺便说一句,那不是一个列表,而是一个ArrayBuffer,两个非常不同的东西,你不应该混淆它们的名字。@Ava Oops,那是我的一个失礼,我想写的“可变的。”我昨天应该写的是:“以这种方式使用像
ArrayBuffer
这样的可变集合不是非常惯用的Scala。在maxNodes
之前编写像
var nodeList=0这样的东西会容易得多。请参阅"正如@Ava所指出的,我被几个额外的音节搞错了。除此之外,我坚持我所写的。你为什么在这里问?当你尝试它时会发生什么?你有什么错误吗?你没有得到你期望的结果吗?你不明白你得到的结果吗?@AlonsodelArte
ArrayBuffer
是可变的。顺便说一句,这不是一个错误List是一个ArrayBuffer,两个非常不同的东西,你不应该把它们的名字混在一起。@Ava Oops,这是我的一个失礼,我想写“可变”。我昨天应该写的是:“以这种方式使用像
ArrayBuffer
这样的可变集合并不是非常惯用的Scala。在maxNodes
之前,编写像
var nodeList=0这样的东西要容易得多。请参见”正如@Ava指出的,我多了几个音节。除此之外,我坚持我所写的内容。