好的问题,所以我在Odersky等人的书中看了看.它说以下(希望
在这里不引用版权侵权);-)):
为什么不附加到列表?
Class Listdoes不提供附加操作,因为附加到列表所需的时间随列表的大小线性增长,而前缀为::需要不变的时间.如果要通过附加元素构建列表,您的选项是预先添加它们,然后完成调用反向;或者使用ListBuffer,一个可以提供追加操作的可变列表,当你完成调用toList时.
据了解FP,至少在纯功能语言中,添加到列表中比添加更常见.我只能假设Scala的设计人员为Java开发人员提供了方便,他们习惯于使用add()进行附加,然后对其进行了第二个想法.