您的位置:首页 > 其它

集合

2015-08-24 22:35 344 查看
一、集合:可以向数组那样存储多个数据,但是长度不固定。往其中存多少个都可以。
ArrayList:动态数组(不是一个数组,是具有数组的功能再克服了数组的缺点)
ArrayList所在的命名空间:System.Collections
它是1个类,所以我们要使用的话,就必须要创建1个对象。
元素的类型:object 就算看起来存储满了,其实它还会自动增长。

二、 ArrayList存储数据的原理:
真正存储数据的是1个object类型的数组。object[] _items
在静态构造函数中创建了1个0个长度的object数组。在实例构造函数中将0个长度的数组赋值给了_items字段。
所以 在创建完ArrayList对象以后,这个集合对象中的_items数组有0个长度。
当我们第一次往其中存储数据的时候,会创建1个4个长度的数组被items字段指向。将值存储到该数组中。
集合中存储数据的是1个object数组。所以ArrayList中可以存储任意类型的数据。会将其加到ArrayList集合中。
Add()方法 将数据存储到集合中,返回数据的下标。参数是1个object类型。所以我们可以给任意的1个数据。
AddRange() 需要传入1个ICollection对象。数组和ArrayList集合就是他的子类。可以传入一个数组,也可以传入一个ArrayList集合,如果是这样,它会将数组/集合中的每一个元素,加到集合对象中去。

三、ArrayList集合的其他用法
  Remove()方法 传入一个数据 会删除集合中第一个和传入的数据相等的元素。
RemoveAt()方法 传入下标,删除指定下标的元素。
RemoveRange() 从指定的下标开始删除指定个数的元素。每删除一个元素的时候,这个元素的后面的元素的下标会发生改变。并且Count属性的值也会减小。
Clear() 方法 清空集合中的所有数据
Count()属性可以得到集合中真实有效的元素的个数

Contains ()方法 判断集合中是否包含指定的元素
GetRange() 从1个大集合中得到一个小集合
IndexOf() 查找指定的元素在集合中第一次出现的下标,如果没有返回-1.
Insert() 在指定的下标插入元素
Reverse() 翻转集合中的元素
Sort() 升序排序集合中的元素。只适合于元素是数组类型的。
ToArray() 将集合转换成为1个数组
TrimToSize() 将集合中存储数据的数组的多余的元素删除。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: