2014-11-04 60 views

回答

3

Swift headers,有此有關數組生長和容量:

當一個數組的連續的存儲填滿了,新的存儲必須被分配和元素必須被移動到新的存儲。 Array,ContiguousArray和Slice共享一種指數增長策略,通過多次調用進行攤銷時,會附加一個恆定時間操作除了count屬性之外,這些數組類型還有一個capacity,它們反映了它們在不重新分配的情況下存儲元素的潛力,並且當您知道要存儲多少元素時,可以致電reserveCapacity搶先重新分配並防止中間重新分配。

閱讀,我會說最好是保留你需要的容量,只有當你發現它確實是一個問題時纔回來優化它。如果你一直在僞裝這個長度,你會爲自己做更多的工作。

相關問題