【发布时间】:2017-02-22 15:22:53
【问题描述】:
我从我的数据库中获取数据的顺序与我需要的相反。为了正确排序,我有几个选择:我可以插入在数组的索引 0 处获得的每条新数据,或者只是附加它然后在最后反转数组。像这样的:
let data = ["data1", "data2", "data3", "data4", "data5", "data6"]
var reversedArray = [String]()
for var item in data {
reversedArray.insert(item, 0)
}
// OR
reversedArray = data.reverse()
以下哪个选项会更快?随着物品数量的增加,两者之间会有什么显着差异吗?
【问题讨论】:
-
试一试并测量!
-
您的意思是
reversedArray.insert(item, at: 0)和reversedArray = data.reversed(),对吗?你做过基准测试吗?如果有,你发现了什么? -
没有使用 swift 的经验,所以我只是猜测 .reverse 应该更有效。 IMO 你也应该考虑 ReverseRandomAccessCollection stackoverflow.com/questions/34558390/…
-
好吧,我想我也可以以相反的顺序访问我的数组元素,这可能是最快的:
array[array.count - 1 - i]