当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 在 PowerShell 中将数组转换为 ArrayList [2 种方法]

作者:精品下载站 日期:2024-12-14 05:29:13 浏览:14 分类:玩电脑

在 PowerShell 中将数组转换为 ArrayList [2 种方法]


[玩转系统] 在 PowerShell 中将数组转换为 ArrayList [2 种方法]

日常任务之一是在 PowerShell 中将数组转换为 ArrayList。当您需要使用动态数据结构或操作内存中的数据时,它会很有帮助。然而,在我们深入研究如何将数组转换为 ArrayList 之前,有必要了解这两者之间的区别。

数组是存储在单个变量中的具有相同类型的值的集合。数组的大小是固定的,这意味着数组一旦创建,其大小就无法更改。

另一方面,ArrayList 是任何类型的值的动态集合,可以根据需要调整大小。从集合中添加或删除元素时它会很有帮助。

现在您已经了解了数组和 ArrayList,让我们继续学习在 PowerShell 中将数组转换为 ArrayList 的各种方法。

使用转换为 System.Collections.ArrayList

将数组对象转换为 System.Collections.ArrayList 以在 PowerShell 中将数组转换为 ArrayList。
下面是一个示例:

使用ArrayList对象:

$colours = @("Red", "Green", "Blue")
$arrayList = [System.Collections.ArrayList]$colours
Write-Host "ArrayList Contents:"
foreach ($colour in $arrayList) {
    Write-Host $colour
}

输出 :

ArrayList Contents:
Red
Green
Blue

使用带有 AddRange() 方法的新 ArrayList 对象

在 PowerShell 中将数组转换为 ArrayList:

  • 使用 New-Object cmdlet 创建 System.Collections.ArrayList 类型的新对象。
  • 使用AddRange()方法将数组$colours添加到$arrayList对象。

使用ArrayList对象:

$colours = @("Red", "Green", "Blue")
$arrayList = New-Object System.Collections.ArrayList
$arrayList.AddRange($colours)
Write-Host "ArrayList Contents:"
foreach ($colour in $arrayList) {
    Write-Host $colour
}

输出 :

ArrayList Contents:
Red
Green
Blue

在上面的代码中,$colours=@("Red", "Green", "Blue") 行创建一个颜色数组并将其分配给变量 $colours@() 表示法在 PowerShell 中创建一个数组。

$arrayList=New-Object System.Collections.ArrayList 行创建一个新的 ArrayList 对象并将其分配给变量 $arrayListNew-Object 用于创建 .NET 类的新实例。

之后,$arrayList.AddRange($colours) 行使用 $colours 数组的内容添加到 $arrayList ArrayList 对象>AddRange() 方法。此方法一次将多个项目添加到 ArrayList 中。

Write-Host cmdlet 将字符串 ArrayList Contents: 输出到控制台,以指示以下几行将输出 ArrayList 的内容。

最后,我们使用 foreach 循环迭代 $arrayList ArrayList 对象中的每个项目,并使用 Write-Host 将其输出到控制台cmdlet。循环变量$colour 存储当前正在处理的项目。

一旦有了 ArrayList 对象,您就可以使用它的方法和属性来操作数据。这些方法如下:

  1. 添加元素
  2. 删除元素
  3. 对元素进行排序
  4. 获取元素数量

让我们继续学习这些方法。

使用ArrayList对象的Add()方法

使用Add()向ArrayList添加新元素。

使用 add() 方法:

$colours = @("Red", "Green", "Blue")
$arrayList = New-Object System.Collections.ArrayList
$arrayList.AddRange($colours)
$arrayList.Add("Yellow")
Write-Host "ArrayList Contents:"
foreach ($colour in $arrayList) {
    Write-Host $colour
}

输出 :

ArrayList Contents:
Red
Green
Blue
Yellow

上面的代码栅栏与前面的代码栅栏类似,但添加了 add() 方法来向 ArrayList 插入元素。

使用 ArrayList 对象的 Remove() 方法

使用Remove()方法从ArrayList中删除现有元素。

使用Remove()方法:

$colours = @("Red", "Green", "Blue", "Yellow")
$arrayList = New-Object System.Collections.ArrayList
$arrayList.AddRange($colours)
$arrayList.Remove("Blue")
Write-Host "ArrayList Contents:"
foreach ($colour in $arrayList) {
    Write-Host $colour
}

输出 :

ArrayList Contents:
Red
Green
Yellow

上面的代码栅栏与前面的示例类似,但它使用 Remove() 方法从 ArrayList 中删除元素,并将 ArrayList 的更新内容输出到使用 Write-Host cmdlet 的控制台。

使用 ArrayList 对象的 Sort() 方法

使用 Sort() 方法对 ArrayList 中的元素进行排序。

使用 Sort() 方法:

$colours = @("Red", "Green", "Yellow")
$arrayList = New-Object System.Collections.ArrayList
$arrayList.AddRange($colours)
$arrayList.Sort()
Write-Host "ArrayList Contents:"
foreach ($colour in $arrayList) {
    Write-Host $colour
}

输出 :

ArrayList Contents:
Green
Red
Yellow

上面的代码遵循与前两个示例类似的模式,但在本例中,使用 Sort() 方法按升序排列 ArrayList 中的项目。然后使用 Write-Host cmdlet 将 ArrayList 的更新内容打印到控制台。

使用 ArrayList 对象的 Count 属性

使用 count 属性检索 ArrayList 中存在的元素总数。

使用计数属性:

$colours = @("Red", "Green", "Yellow")
$arrayList = New-Object System.Collections.ArrayList
$arrayList.AddRange($colours)
$count = $arrayList.Count
Write-Host "ArrayList Contents:"
foreach ($colour in $arrayList) 
{
    Write-Host $colour
}
Write-Host "The total number of elements in the ArrayList = $count"

输出 :

ArrayList Contents:
Red
Green
Yellow
The total number of elements in the ArrayList = 3

上面的代码片段遵循与前三个示例相同的模式,但在本例中,它使用 Count 属性来检索 ArrayList 中的项目总数。然后使用 Write-Host cmdlet 在控制台上显示更新的内容。

基于上述解决方案,ArrayList对象可以轻松地从array转换为ArrayList,并且可以使用其方法和属性来操作数据。例如,我们使用Add()方法向ArrayList添加一个元素,使用Remove()方法删除第一个元素,排序使用 Sort() 方法对元素进行排序,并使用 Count 属性获取元素计数。

这就是如何在 PowerShell 中将数组转换为 ArrayList。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯