我发现如果您在 PowerShell 中创建一个数组并执行此操作:
$myArray = @()
$myArray += 7
每次执行此语句时,它都会创建一个末尾为 7 的新数组,并返回新数组并删除旧数组!基本上,我们在大约 10,000 次迭代的循环中执行此操作,这使得速度非常慢!
如果我改用 ArrayList,通过调用 .Add(x)
,我们发现它要快得多。我的问题是哪个代码更快?
$myArrayList.Add(x)
或
$myArrayList += x
或者它们是一样的?因为我们现有的代码是+= x
格式的。我们希望不必将所有代码更改为 .Add(x)
格式。
最佳答案
使用以下命令获得这些结果,迭代 10,000 次。
.add()
用了 0s 45.2869ms
+=
用了 2 秒 900.2777 毫秒
Measure-Command -Expression {
$i = 0
$myArrayList = New-Object System.Collections.ArrayList
Do {
#$myArrayList.add($i)
$myArrayList += $i
$i++
} While ($i -lt 10000)
}
关于arrays - 对于 PowerShell ArrayList,哪个更快。Add 或 += 运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54208763/