使用append vs element by element填充二维Swift数组

时间:2017-04-01 14:53:58

标签: arrays swift append

使用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方法快速且逐元素方法非常非常慢?

0 个答案:

没有答案