PowerShell中对数组进行插入、删除、添加数组元素的操作是很不方便,而且效率也是很低下的。那是因为数组对象本身并没有插入和删除的功能,每次的操作都是将数组整个拷贝到一个新的数组中。这个过程太消耗资源。
如果我们把Array对象转换为ArrayList对象,那一切问题都解决了。ArrayList有InsertAt()和RemoveAt()方法,所以在处理数组元素的插入和删除操作时更方便快捷,而且事实上效率也更高。
1
2
3
4
5
6
|
$array = 1..10
[System.Collections.ArrayList]$arraylist = $array
$arraylist.RemoveAt(4)
$null = $arraylist.Add(11)
$arraylist.Insert(0, '新元素' )
$arraylist
|
解释一下这段代码。
1、定义了一个数组,包含1到10,一共10个数组元素。
2、将$array数组变量赋值给$arraylist变量,这样就将数组变成了ArrayList
3、分别执行RemoveAt()、Add()、Insert()等操作
一定要记住,这样做不仅仅是为了方便写代码,它将带来事实上的效率提升。