[玩转系统] PowerShell Array 与 ArrayList [完整指南]
作者:精品下载站 日期:2024-12-14 05:05:47 浏览:14 分类:玩电脑
PowerShell Array 与 ArrayList [完整指南]
在 PowerShell 中处理数据集合时,两种常见类型是数组和 ArrayList。两者都用于容纳多种物品,但它们具有不同的特征和方法,可以根据情况使一种比另一种更适合。在这篇文章中,我们将了解PowerShell 中数组和 ArrayList 之间的差异以及它们的工作原理。
了解 PowerShell 中的数组
数组是固定大小、有序的元素集合。在 PowerShell 中创建数组后,其大小就无法更改,这意味着在不创建新数组的情况下无法添加或删除项目。
创建数组
要在 PowerShell 中创建数组,只需将多个值分配给一个变量,并用逗号分隔。
$array = 1, 2, 3, 4, 5
向数组添加元素
要将元素添加到数组中,您必须通过将现有数组与新元素组合来创建新数组。
$array = $array + 6
从数组中删除元素
删除元素并不简单,因为您无法直接从数组中删除项目。您必须过滤数组以查找要保留的元素。
$array = $array | Where-Object { $_ -ne 3 }
访问和修改元素
访问数组中的元素是使用索引(数组中元素的位置)完成的。
$thirdElement = $array[2]
修改元素类似:
$array[2] = 10
了解 PowerShell 中的 ArrayList
另一方面,ArrayList 是一个动态对象,可以增大和缩小大小。它是 .NET 中 System.Collections 命名空间的一部分,PowerShell 可以访问该命名空间。
创建一个ArrayList
要创建 ArrayList,您需要使用 New-Object
cmdlet。
$arrayList = New-Object System.Collections.ArrayList
向 ArrayList 添加元素
向 ArrayList 添加元素很简单,不需要创建新实例。
$arrayList.Add(1)
$arrayList.Add(2)
您还可以一次添加多个元素:
$arrayList.AddRange(@(3, 4, 5))
从 ArrayList 中删除元素
ArrayList 有一个 Remove
方法,允许您通过指定实际元素来删除元素。
$arrayList.Remove(3)
您还可以使用 RemoveAt
方法按索引删除元素。
$arrayList.RemoveAt(0)
访问和修改元素
ArrayList 元素的访问和修改方式与数组元素相同,即使用索引。
$thirdElement = $arrayList[2]
$arrayList[2] = 10
性能考虑因素
在数组和 ArrayList 之间进行选择时,关键考虑因素之一是性能。当集合的大小已知并且不会改变时,数组通常会更快,因为它们具有固定的大小并且不需要调整大小的开销。当您需要频繁添加或删除项目时,ArrayList 更加灵活并且更加高效。
示例
让我们看几个例子,看看数组和 ArrayList 在实践中是如何工作的。
示例 1:添加元素
# Array
$array = 1, 2, 3
$array = $array + 4
# ArrayList
$arrayList = New-Object System.Collections.ArrayList
$arrayList.AddRange(@(1, 2, 3))
$arrayList.Add(4)
示例 2:删除元素
# Array
$array = 1, 2, 3, 4, 5
$array = $array | Where-Object { $_ -ne 3 }
# ArrayList
$arrayList = New-Object System.Collections.ArrayList
$arrayList.AddRange(@(1, 2, 3, 4, 5))
$arrayList.Remove(3)
示例 3:修改元素
# Array
$array = 1, 2, 3, 4, 5
$array[2] = 10
# ArrayList
$arrayList = New-Object System.Collections.ArrayList
$arrayList.AddRange(@(1, 2, 3, 4, 5))
$arrayList[2] = 10
PowerShell 中的数组与 ArrayList
为了总结 PowerShell 中数组和 ArrayList 之间的差异和相似之处,下面是一个比较表:
Add
or AddRange
methodsRemoving ItemsRequires filtering the arrayUse Remove
or RemoveAt
methodsAccessing ElementsBy indexBy indexModifying ElementsBy indexBy indexPerformanceFaster for fixed-size collectionsMore overhead, but better for frequent resizing结论
PowerShell 中的数组和 ArrayList 有自己的一组功能和用例。数组非常适合大小不变的静态集合,而 ArrayList 为动态集合提供了更大的灵活性。了解差异以及如何有效地使用每种类型对于编写高效的 PowerShell 脚本至关重要。
在这篇文章中,我们介绍了数组和 ArrayList 的基础知识,并通过示例帮助初学者了解如何使用这些集合。选择数组还是 ArrayList 将取决于您的具体需求,但现在您已经掌握了做出明智决定的知识。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag