ArrayList 与 List的区别 数组与集合的区别

ArrayList是一种非泛型集合类型,允许用户存储任何数据类型的对象,

List 是一种泛型集合类型,允许用户存储声明时 List 指定的数据类型的对象。它是一个非常强类型的集合,

var arrayList = new ArrayList();

arrayList.Add(1); // 整型

arrayList.Add(2);

arrayList.Add("3"); // string 字符串

var list = new List<int>();

list.Add(1); // 只允许存储整型数据

list.Add(2);

list.Add(3);

当我们使用 ArrayList 时,通常需要我们对正在访问的对象进行装箱或拆箱来避免一些错误发生。但对于List来说,不存在这个情况。

列表是类型安全的,我们根本不需要进行任何类型转换

一般来说,List 比 ArrayList 更节省内存,因为它不必为集合中的每个元素存储对象引用。

List 比 ArrayList 的内存效率更高,因为类型安全所以List也比 ArrayList 具有更高的性能效率。与 ArrayList 相比, List 具有更好的 API 支持,通过它提供的方法和属性,可以更快地访问元素。,我们了解了 ArrayList 和 List 以及何时使用它们。很明显,List 在任何比较中都胜过 ArrayList,因为它更好,更高效且类型安全。

数组和集合概念,以及它们的区别:

数组一般是相同数据类型(object\[\]数组元素类型可以不同)的元素按一定顺序排列的集合。

数组是集合,集合不一定是数组。

数组读取(查询)速度比集合快。集合是线性表,在插入,添加,删除数据时比较方便,性能比数组会高。

数组存储的类型不限制。集合存储的类型只能是引用类型。

C#中的集合(Collection)和数组(Array)是两种不同的数据结构,它们之间有以下主要区别:

1。定义方式不同:集合是使用集合类定义的,如List或HashSet。数组是使用类型和大小显式定义的。

2。大小不同:数组的大小在创建后无法更改,而集合的大小可以根据需要动态增长。

3。内存布局不同:数组在内存中是连续的,而集合通常不是。

4。性能不同:访问数组元素通常比访问集合元素快,因为集合元素访问时可能需要进行装箱和拆箱操作。

5。索引访问:数组可以通过索引直接访问元素,而集合则需要使用迭代器或者在.NET 2.0及以上版本中使用foreach循环。

6。数据类型不同:数组可以存储基本数据类型(值类型),也可以存储引用类型,而集合只能存储引用类型,因为它们都继承自System.Object。

相关推荐
泛凡(Linyongui)16 小时前
基于 CW32L010 的智能厨卫调温旋钮方案--低成本 EC21 编码旋钮全解析
单片机·嵌入式硬件·c#
暴走约伯18 小时前
【VFX工具链源码拆解 02】告别机械劳动(上):一键统改百个子粒子颜色与批量重命名
3d·unity·c#·材质
信息安全失业大专人员20 小时前
每日了解一个智能体-WorkBuddy
开发语言·ai·c#·智能体
呆呆敲代码的小Y20 小时前
【实战精选面试题】C# 面试题详细解答,按难易程度排序
android·java·游戏·c#·游戏开发·unity面试题·c#面试题
淡海水21 小时前
09-01-内存-Unity资源生命周期全景
unity·c#·游戏引擎·.netcore·gc
椒颜皮皮虾྅1 天前
让 C# 读懂整张图:DeploySharp 驱动 PaddleOCR v4/v5/v6,打通 OCR 全流程
开发语言·人工智能·深度学习·学习·c#·ocr·cuda
昂好的day1 天前
C# 同步异步与多线程:Thread / Task / 线程池一次讲透(上篇)
开发语言·windows·c#
吃一碗粉只付一碗钱1 天前
12-给SPA友好的401和403响应
c#·状态模式
caimouse2 天前
MonoDevelop 编译用户应用程序时调用的是哪个编译器
c#
will_net2 天前
apollo 站点部署&C#接入
开发语言·c#·apollo