用list很久了,网上也查了很多资料,但是都不是很清楚,大家谈谈这两者之间的区别吧。最好从原理上来谈,比如说,怎么在内存中开辟空间,添加和删除元素的区别?
解决方案 »
- asp.net 执行.sql文件
- 改变读取的数据库标题的颜色
- 百分求助---动态创建数据控件的模板时,如何双向绑定。2.0中的bind
- WebPart控件中选择编辑属性(EditZone)之后或者实现拖动之后,是不是已经保存了,下次登录时还是你保存的
- ASPX文件怎样生成DLL文件,生成DLL文件后,怎么应用它!!!请教!!!
- 类似于froogle这样的网站让你做要多少M?
- 超急问题,在线等!
- 大家好。谁知道在asp.net中怎么弄背景音乐呀。在线等。谢谢了。
- 如何对Access的时间类字段进行查询操作?
- 请教大神
- VS2008SP1,MSChart都装好了,为什么没有
- Parser Error Message: The file '/MasterPage.master' does not exist.
Arraylist和list可以提供添加,删除,等操作的数据.
泛形中的元素类型是固定的.
比如:
arraylist a = new arraylist();
a.add(1);
a.add( "aaaa ");
a.add(new class());
Arraylist中可以添加任何类型的元素. 如果定义的是泛形的话
List <MyClass> myclasslist = new List <MyClass>
MyClassList.add(new MyClass());
泛形中就不能再添加别的类型的.它只能添加MyClass类型的实例. 网上多查查
但是该方法是重新创建新设置大小的数组,用的是旧数组的元素初始化。随后以前的数组就废弃!而集合却是可变长的
2.数组要声明元素的类型,集合类的元素类型却是object.
3.数组可读可写不能声明只读数组。集合类可以提供ReadOnly方法以只读方式使用集合。
4.数组要有整数下标才能访问特定的元素,然而很多时候这样的下标并不是很有用。集合也是数据列表却不使用下标访问。
ArrayList中存放的类型都是Object。
{
private T[] _items;
private int _size; public List(int capacity)
{
if (capacity < 0)
{
ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument.capacity, ExceptionResource.ArgumentOutOfRange_NeedNonNegNum);
}
this._items = new T[capacity];
} public void Add(T item)
{
if (this._size == this._items.Length)
{
this.EnsureCapacity(this._size + 1);
}
this._items[this._size++] = item;
this._version++;
}}
Add(T t):T代表的是该集合中允许存入的数据类型。利用Add(T t)方法将指定元素添加进List<T>集合。
Remove(对象名): 通过对象名删除元素
RemoveAt(索引): 通过索引删除元素
Count:返回该集合中的元素的数量
遍历循环
foreach(int i = 0;i < list.Count;i ++)
{
T t = list[i];
}
foreach(T t in list)
{
//执行操作
}