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

news/2024/5/2 19:56:40

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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.cpky.cn/p/11328.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Unity-C#进阶——3.27更新中

文章目录 数据结构类ArrayListStackQueueHashtable 泛型泛型类、泛型方法、泛型接口ListDictionaryLinkedList泛型栈&#xff0c;泛型队列 委托和事件委托事件匿名函数Lambad 表达式**闭包** List 排序逆变协变多线程进程线程多线程方法&#xff1a;线程之间共享数据&#xff1…

【jenkins+cmake+svn管理c++项目】jenkins回传文件到svn(windows)

书接上文&#xff1a;创建一个项目 在经过cmakemsbuild顺利生成动态库之后&#xff0c;考虑到我一个项目可能会生成多个动态库&#xff0c;它们分散在build内的不同文件夹&#xff0c;我希望能将它们收拢到一个文件夹下&#xff0c;并将其回传到svn。 一、动态库移位—cmake实…

vue系列——v-text

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>v-text指令</title> </head> <body&…

外包干了10天,技术倒退明显

先说情况&#xff0c;大专毕业&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近6年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&#xf…

【初阶数据结构】——牛客:OR36 链表的回文结构

文章目录 1. 题目介绍2. 思路分析3. 代码实现 1. 题目介绍 链接: link 这道题呢是让我们判断一个链表是否是回文结构。但是题目要求设计一个时间复杂度为O(n)&#xff0c;额外空间复杂度为O(1)的算法。 所以如果我们想把链表的值存到一个数组中再去判断就不可行了。 2. 思路…

Diffusion添加噪声noise的方式有哪些?怎么向图像中添加噪声?

添加噪声的方式大致分为两种&#xff0c;一种是每张图像在任意timestep都加入一样的均匀噪声&#xff0c;另一种是按照timestep添加不同程度的噪声 一、在任意timestep都加入一样的noise batch_size 32x_start torch.rand(batch_size,3,256,256) noise torch.randn_like(x_…