在Swift中,将一个数组添加到另一个数组中的效率如何?

3
如果您有一个数组,在程序运行过程中,它的大小会经常变化,那么将该数组声明为它可能达到的最大大小,然后控制程序可以访问多少数组元素,是否比在程序执行过程中频繁更改数组大小更有效?
1个回答

4
Swift headers中,关于数组增长和容量有以下内容:

当数组的连续存储填满时,必须分配新的存储空间并将元素移动到新的存储空间。Array、ContiguousArray和Slice共享指数增长策略,使得append操作成为常数时间操作,并在多次调用中平衡。除了count属性外,这些数组类型还具有容量capacity,反映了它们存储元素的潜力,而且当您知道要存储的元素数量时,可以调用reserveCapacity来预先重新分配并防止中间重新分配。

阅读以上内容,我认为最好预留所需容量,仅在发现真正存在问题时回来进行优化。如果您一直伪造长度,您将会让自己更加辛苦。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接