来自消息来源:
如果
this
为空,则不执行任何操作并返回that
。
有一些问题,作者要求如何附加到LinkedList,但我没有找到,为什么 LinkedList设计有这样的行为。
还有一个问题,Scala是否有任何带有添加/追加的列表(使用O(1)更改this
)和地图操作?
答案 0 :(得分:1)
如果您在mutable LinkedList API doc中展开附加文档,那么有更多内容可以解释附加的O(n)性能:
def append(that: LinkedList[A]): LinkedList[A]
如果这是空的,那么它什么也不做,然后返回。除此以外, 将此追加到此。追加要求完全遍历这一点。
追加需要一秒LinkedList
(that
)并将其追加到当前的this
。如果当前LinkedList
为空,则将第二个LinkedList
附加到空LinkedList
的结果只是第二个{{1}}。
我可能误解了你的问题,但我认为这不会引起争议或需要特别的设计决定。
至于scala集合操作的性能特征,我不确定是否有更新的东西,但我总是指向to this doc。