.net框架-数组(Array)& ArrayList & List

数组(Array)特点:

  初始化时规定长度

  元素类型相同

  数据存储连续,效率高

System.Collections.ArrayList :

  初始化时无需规定长度,长度随存储的数据动态扩充与收缩

  元素类型可以不相同,其内部使用object[]实现数据存储,因此会数据读写时会频敏装箱、拆箱从而影响效率

  继承接口:IList、ICollection、IEnumerable、ICloneable,数据增、删、改查十分方便

System.Collections.Generic.List<T>:

  范型类(C#2.0新特性)

  解决了ArrayList的类型安全问题、不会对值类型进行装箱、拆箱操作,对引用类型向下进行强制类型转换

  定义时决定了元素的类型,当List<T>中的类型T为Object时,其与ArrayList相同

  继承接口:IList、ICollection、IEnumerable、ICloneable 及其对应的泛型接口:IList<T>、ICollection<T>、IEnumerable<T>(无ICloneable<T>接口)

参考:http://www.cnblogs.com/a164266729/p/4561651.html

时间: 2024-12-04 15:26:29

.net框架-数组(Array)& ArrayList & List的相关文章

C#中数组Array、ArrayList、泛型List&lt;T&gt;的比较

在C#中数组Array,ArrayList,泛型List都能够存储一组对象,但是在开发中根本不知道用哪个性能最高,下面我们慢慢分析分析. 一.数组Array 数组是一个存储相同类型元素的固定大小的顺序集合.数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合. Array 类是 C# 中所有数组的基类,它是在 System 命名空间中定义. 数组在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也非常简单. Array数组具体用法: using System; names

将java中数组转换为ArrayList的方法实例(包括ArrayList转数组)

方法一:使用Arrays.asList()方法 1 2 String[] asset = {"equity", "stocks", "gold", "foreign exchange","fixed income", "futures", "options"}; List<String> assetList = Arrays.asList(asset);

数组与ArrayList的关系与区别

数组与ArrayList的关系与区别 一.数组与ArrayList的主要区别:效率.类型识别和primitive type.数组([]):最高效:但是其容量固定且无法动态改变:ArrayList:容量可动态增长:但牺牲效率:建议:首先使用数组,无法确定数组大小时才使用ArrayList! 1.效率:数组扩容是对ArrayList效率影响比较大的一个因素.每当执行Add.AddRange.Insert.InsertRange等添加元素的方法,都会检查内部数组的容量是否不够了,如果是,它就会以当前容

解析C#中[],List,Array,ArrayList的区别及应用

[] 是针对特定类型.固定长度的. List 是针对特定类型.任意长度的. Array 是针对特定类型.固定长度的. ArrayList 是针对任意类型.任意长度的. Array 和 ArrayList 是通过存储 object 实现任意类型的,所以使用时要转换. 应用示例 复制代码代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.

集合框架-数组与集合互转

数组和集合类同是容器,有何不同? 数组虽然也可以存储对象,但长度是固定的:集合长度是可变的. 数组中可以对象和存储基本数据类型,集合只能存储对象. 集合框架-数组转成集合 java.util 类 Arrays * Arrays:用于操作数据的工具类提供了很多常见的方法比如排序,搜索等. * 该类中的方法都是静态的. * 数组转成集合   Arrays.asList([]); * 好处:可以使用集合list的方法来操作数组中的元素.可以使用集合 改查方法,只要不改变数组长度都可以. * 弊端:不可

[转]Java中怎样把数组转换为ArrayList

方法汇总: Element[] array = {new Element(1),new Element(2),new Element(3)}; ArrayList<Element> arrayList = new ArrayList<Element>(Arrays.asList(array)); //方法1 List<Element> list = Arrays.asList(array); //方法2 List<element> list = new Ar

在Java中怎样把数组转换为ArrayList?

翻译自:How to Convert Array to ArrayList in Java? 本文分析了Stack Overflow上最热门的的一个问题的答案,提问者获得了很多声望点,使得他得到了在Stack Overflow上做很多事情的权限.这跟我没什么关系,我们还是先看看这个问题吧. 这个问题是"在Java中怎样把数组转换为ArrayList?" Element[] array = {new Element(1),new Element(2),new Element(3)}; 1

c#中的数组、ArrayList、List区别

数组 ArrayList 泛型List 总结 在C#中数组,ArrayList,List都能够存储一组对象,那么这三者到底有什么样的区别呢. (1)数组引入的命名空间:using System; (2)Array:用法基本与数组同,引入命名空间:using System; (3)ArrayList:引入命名空间: using System.Collections (4)List:引入命名空间:using System.Collections.Generic; 数组 数组在C#中最早出现的.在内存

C# 中的集合(Array/ArrayList/List&lt;T&gt;/HashTable/Dictionary)

C# 中的集合(Array/ArrayList/List<T>/HashTable/Dictionary) int [] numbers = new int[5]; // 长度为5,元素类型为 int.string[,] names = new string[5,4]; // 5*4 的二维数组byte[][] scores = new byte[5][]; // 长度为 5 的数组,元素为 byte的数组,元素数组的长度未知. 不同的格式:int[] numbers = new int[5]

C#中数组、ArrayList和List三者的区别

在C#中数组,ArrayList,List都能够存储一组对象,那么这三者到底有什么样的区别呢. 数组 数组在C#中最早出现的.在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单. [csharp] view plaincopy <span style="font-family:SimSun;font-size:18px;">//数组 string[] s=new string[2]; //赋值 s[0]="a"; s[1]=&quo