2009-10-12 201 views

回答

10

数组是一种高性能的存储具有相同类型数据组的方法,因为每个元素都放在内存中的邻居旁边。这允许非常快速的访问,因为(a)代码可以做一些小算术并快速跳到数组中的任何位置,以及(b)所有元素都被分组在一起,因此它们倾向于同时在内存中页面错误和缓存未命中)。在.NET中的数组实际上是一个类(System.Array),但它是.NET引擎(CLR)很好理解的特殊类型。正因为如此,您可以使用标准数组访问表示法(文本语言),如 foo [3] = 99;

ArrayList,但是,你正在处理一个集合。 .NET中有几种类型的集合(请参阅System.Collections和System.Collections.Specialized命名空间),但关键在于它们支持的接口(IEnumerable,ICollections,IList等)。如果你看一下这些接口的定义,你会发现集合都是关于将事物分组在一起并提供访问它们的方法。然而,使用ArrayList,如果添加一个元素而不是内部数组可以处理的数组,ArrayList会自动创建一个更大的数组并将旧数组复制到新数组中。

+0

谢谢你先生arsenMkrt – 2009-10-12 05:31:29

0

这是否适合Java?那么,我读的地方 1. ArrayList是一个集合数据类型,它需要价值/密钥对。您需要使用.Add属性将值添加到arraylist集合中。您可以使用密钥访问数组列表。 2.数组是可以使用索引访问的数据类型。

+0

是asp.net Java语言支持? :)他用asp.net标记了这个问题 – 2009-10-12 04:51:47

+0

很可能应该被重新绑定到一个特定的.NET语言,而不是ASP.NET – 2009-10-12 04:54:12

+0

它被实现为.net而不是java – 2009-10-12 05:00:12

1

array:类似数据类型的元素,大小有限。 arraylist:是一个能够保存 不同的数据类型的对象的集合,并且是可增长的。

0

Array: Array是一个固定长度的数据结构。 在Java中创建后,您无法更改Array的长度。 数组本质上是静态的。

Object[] objArray = new Object[10]; 

的ArrayList: ArrayList的是可变长度Collection类。 根据容量和负载因数,ArrayList在满载时会自行重新调整大小。 Arraylist本质上是动态的。

ArrayList<Integer> integerList = new ArrayList<Integer>(); 
0

I,阵列:数组的大小是固定长度的数据结构静态的,一个人不能创建阵列对象之后改变的长度。 Arraylist:ArrayList的大小是动态的。每个ArrayList对象具有指示ArrayList大小的实例变量容量。随着元素被添加到ArrayList,其容量会自动增加。 2. 数组:它只能包含Object,而数组既可以包含原始数据类型也可以包含对象。 的ArrayList:ArrayList中不能包含基本数据类型(如整型,浮点,双) 例如: ArrayList的arraylistobject =新的ArrayList(); arraylistobject.add(23); 3. 阵列:它返回数组的长度的可变长度。 的ArrayList:该ArrayList长度的同时,通过每个阵列对象的尺寸()方法提供的。

+0

你至少应该引用你的来源,当你复制粘贴... – Kikohs 2015-07-20 10:12:48

1

差异与跟随之间阵列的ArrayList:阵列的实施

  1. 是简单的固定大小的数组 ArrayList中的实现是动态大小的数组。
  2. 数组可以包含两种基本类型和对象 ArrayList中只能包含对象元素
  3. 不能使用泛型与数组沿着但的ArrayList允许我们使用泛型来确保类型安全。
  4. 您可以使用* length *变量来计算数组长度,而size()方法来计算ArrayList的大小。
  5. 阵列使用赋值运算符来存储元素 ArrayList的使用*的add()*插入元素。