C# List<>与Array、ArrayList联系

Array:

  Array初始化对象的时候必须要指定其大小

  抽象类,不能构造函数实例化一个Array(例如:Array arr = new Array[]错误)

  但是可以这样初始化一个Array类 Array arr = new int[3]{1,2,3};

  也可以使用Array类的CreateInstance方法来初始化 Array arr = Array.CreateInstance(typeof(int),3) 在这里定义了一个3个元素的int数组

ArrayList:

  初始化的时候不必指定大小

  实例化一个对象后可以对这个对象中的元素添加、删除、修改等操作

  效率本身比Array的要低

List<>:

  在.net framework 2.0之前,数组表示可以用Array 和集合类 ArrayList 表示,2.0后,.net 引进了泛型的概念List<>,那么我们的选择就多了一种。

  例如我们定义个int型的List:List<int> list = new List<int>();

  引进泛型其本意是减少类型的装箱拆箱所带来的性能消耗。

  同样我们可以对List泛型中的元素进行和ArrayList中的相同操作

注:

  array的效率要比List的要高一些,当数组长度不是很大时,两者没什么区别,建议用List<>,毕竟是可变长度,可以Add;特殊应用还是建议用array,不提倡用ArrayList.

  

时间: 2024-10-17 05:54:52

C# List<>与Array、ArrayList联系的相关文章

【转载】C#中[],List,Array,ArrayList的区别及应用

本篇文章主要是对C#中[],List,Array,ArrayList的区别及应用进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 [] 是针对特定类型.固定长度的. List 是针对特定类型.任意长度的. Array 是针对任意类型.固定长度的. ArrayList 是针对任意类型.任意长度的. Array 和 ArrayList 是通过存储 object 实现任意类型的,所以使用时要转换.

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#中[],List,Array,ArrayList的区别及应用

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

C#中 [], List, Array, ArrayList 區別

[] 是針對特定類型.固定長度的.List 是針對特定類型.任意長度的.Array 是針對任意類型.固定長度的.ArrayList 是針對任意類型.任意長度的.Array 和 ArrayList 是通過存儲 object 實現任意類型的,所以使用時要轉換. Array 是抽象類別,不能使用 new Array 創建. ArrayList的命名空間是System.Collections 預設不會載入,必須自行引用. Array arrayTest = Array.CreateInstance(ty

[javaSE] 集合框架(ArrayList,LinkedList,Vector)

ArrayList特点:底层使用数组数据结构,查询速度快(使用脚标查),插入删除慢(索引要改变) LinkedList特点:底层使用链表数据结构,查询慢(需要一个一个去问),插入删除快 Vector特点:底层是数组数据结构,线程同步,被ArrayList替代了 ArrayList import java.util.ArrayList; public class ArrayListDemo { public static void main(String[] args) { ArrayList l

Java集合

JAVA集合小结   有序否 允许元素重复否 Collection 否 是 List 是 是 Set AbstractSet 否 否 HashSet TreeSet 是(用二叉树排序) Map AbstractMap 否 使用key-value来映射和存储数据,Key必须惟一,value可以重复 HashMap TreeMap 是(用二叉树排序) 几个面试常见问题:1.Q:ArrayList和Vector有什么区别?HashMap和HashTable有什么区别?   A:Vector和HashT

Android面试套路题越来越深入

电话面试一般面试广度比较大,深度一般不会太大,安卓一般面试以下几点. 安卓View绘制流程事件分发机制JAVA基础思想多线程和安全问题安卓性能优化和兼容问题再问一下常规的组件相关问题 1 请描述安卓四大组建之间的关系,并说下安卓MVC的设计模式. 2 线程中sleep()和wait()有和却别,各有什么含义 3 abstract和interface的区别? 4 array,arrayList, List ,三者有何区别? 5 hashtable和hashmap的区别,并简述Hashmap的实现原

js家的排序算法

function ArrayList() { this.array = []; } ArrayList.prototype = { constructor: ArrayList, insert: function(item) { this.array.push(item); }, toString: function() { return this.array.join(); }, swap: function(index1, index2) { var aux = this.array[ind

考勤管理系统:实现数据在文件的读取功能

//获取系统时间的方法:Date date=new Date(new java.util.Date().getTime()); /* * 考勤管理系统:实现数据在文件的读取功能;两个模块,功能如下: * ----管理员模块: * 1.注册新用户 * 2.查询所用用户 * ----用户模块: * 1.上班打卡 * 2.下班打卡 * 3.查询历史打卡记录 * */public class TestUser { static Scanner input=new Scanner(System.in);

Java算法小程序(2)

6.把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. a)使用ArrayList来存放元素 public class Solution { public static int minNumberArray(int[] array) { int min = array[0]; for(int i = 0; i < array.length; i++){ if(min > array[i]){ min = array[i]; } } return min; } public Ar