使用Apple Swift:我有一个非常大的二维String数组,例如,一个.cdl文件。然后我从String数组构建一个Double数组,这样我现在有一个String数组(variableData)和一个Double数组(variableDataDouble)。现在我想调整Double数组中的值。
如果我使用append和String数组,调整速度很快。
cdlVariablesDictionary[eachVariable]?.variableDataDouble.removeAll()
for rows in 0 ..< rowsCount {
var tempArray: [Double] = []
for columns in 0 ..< columnsCount {
var adjustedValue: Double = Double((cdlVariablesDictionary[eachVariable]?.variableData[rows][columns])!)!
adjustedValue = adjustedValue * scaleNumeric + offsetNumeric
tempArray.append(adjustedValue)
}
cdlVariablesDictionary[eachVariable]?.variableDataDouble.append(tempArray)
}
如果我对Double数组中的每个值进行调整,则调整非常非常慢。
for rows in 0 ..< rowsCount {
for columns in 0 ..< columnsCount {
var adjustedValue: Double = (cdlVariablesDictionary[eachVariable]?.variableDataDouble[rows][columns])!
adjustedValue = adjustedValue * scaleNumeric + offsetNumeric
cdlVariablesDictionary[eachVariable]?.variableDataDouble[rows][columns] = adjustedValue
}
}
为什么append方法快速且逐元素方法非常非常慢?