黑马程序员技术交流社区
标题:
arraylist和array有什么主要的差别么
[打印本页]
作者:
赵贺景
时间:
2014-4-30 21:03
标题:
arraylist和array有什么主要的差别么
arraylist和array的区别是什么?一个是动态数组 一个是数组,
这两者有什么区别.
又和int[]a=new a[x]这种数组有什么不同?
arraylist有哪些常用的用法,
以及用来处理什么类型的问题
作者:
许庭洲
时间:
2014-4-30 21:32
1. Array 可以具有多个维度,而 ArrayList 始终只是一维的;
2. ArrayList提供添加,插入或移除某一范围元素的方法; 在Array中,只能一次获取或设置一个元素的值。
作者:
panwenbo1990
时间:
2014-5-1 15:54
那我补充点吧,因为arraylist里面存放的是object类型的数据,所以在执行数据存放操作的时候会经过装箱和拆箱,效率比较低,所以当所有的数据都是同一种类型的时候,建议使用List<T>泛型集合,这样效率会高很多
作者:
朝花夕拾_黑马
时间:
2014-5-1 21:27
//<span style="color: rgb(255, 0, 0); font-size: large; line-height: 36px; ">是引用(class)类型:</span> 提供创建、操作、搜索和排序数组的方法,因而在公共语言运行时中用作所有数组的基类。
复制代码
作者:
朝花夕拾_黑马
时间:
2014-5-1 21:39
// 是引用类型: 提供创建、操作、搜索和排序数组的方法,因而在公共语言运行时中用作所有数组的基类。
public abstract class Array : ICloneable, IList, ICollection, IEnumerable,
IStructuralComparable, IStructuralEquatable
//是引用类型:使用大小可按需动态增加的数组实现 System.Collections.IList
接口。
public class ArrayList : IList, ICollection, IEnumerable, ICloneable
//int 是值类型
public struct Int32 : IComparable, IFormattable, IConvertible,
IComparable<int>, IEquatable<int>
ArrayList:可以看做是动态数组,Add、clear、contains、count
、Remove等方法,可以放任何类型的数据,但数据放进去就不知道什么
类型了,所以不能防止非法类型数据的放入,将ArrayList返回给其他函
数,会令调用者很困惑。要区分变量返回类型和实际对象类型的区别。
Array:C#中的所有数组类型int[]、string[]等都是继承自Array类
而泛型List<T>,如List<int>,因为有申明类型时的约定,因此所有方法的参数,
返回值都是确定类型了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2