无论出于何种原因,在Performance Characteristics Doc中都没有关于此的概念,所以我挖掘了来源并发现List
和Queue
似乎有 O(n) ,因为他们通过所有成员进行迭代。 Vector
似乎有 O(1),因为它只是从另一个中减去一个Int
。
现在,无论集合是追加还是前置,都无关紧要,但其中任何一个都必须是 O(1),并且不需要高性能{{1} }。
apply
是正确的选择吗?你会建议哪个?
答案 0 :(得分:5)
Vector是正确的选择吗?
是。另一种方法是在List周围创建自己的不可变包装器,将其大小添加为常量,但如果要允许所有标准收集操作,那将是很多工作。坚持Vector
。