ArrayList数组
他相当于一种高级的动态数组,位于System.Collections命名空间下,他可以动态的添加和删除元素,可以将他看做是扩充了功能的数组,但它并不等同于数组。
与普通数组的比较:
普通数组的容量是固定的,而Arraylist的容量可以根据需要自动扩充。
Arraylist提供添加,删除和插入某一范围元素的方法,但在数组中,只能一次获取或设置一个元素的值。
ArrayList只能是一维的。
ArrayList类的使用:
我们完全可以把它当做一般的类来进行处理,既然是类,我们就可以通过实例化出他的对象进行操作:
常见的构造函数:
ArrayList list=new ArrayList();
ArrayList list=new ArrayList(某个数组的名字);
ArrayList list=new ArrayList(int x);
ArrayList类的一些常用方法
1.Add方法:
该方法用来将对象添加到ArrayList集合的末尾处。
原型为: public virtual int Add(Object value)
value :就是要添加到集合末尾处的值
返回值:int ,代表填入的object的索引。
其ArrayList大小是翻倍的,索引也是从0开始。
2.Insert方法
该方法用来将元素插入ArrayList集合的指定索引处。
原型为:
public virtual void Insert(int index,Object value)
index:代表索引,索引是从0开始算的
value:表示要插入的值
3.Clear方法
该方法用来从ArrayList中移除所有元素
原型为:public virtual void Clear()
4.Remove方法
该方法用来从ArrayList中移除指定元素。
原型为:public virtual void Remove(Object obj)
obj:表示要删除的元素
5.RemoveAt方法
该方法用来移除ArrayList的指定索引处的元素
原型为:public virtual void RemoveAt(int index)
index:要移除的元素从0开始的索引
6.RemoveRange方法
该方法用来从ArrayList中移除一定范围的元素
原型为:Public virtual void RemoveRange(int index,int count)
index:要移除的元素的范围从0开始的索引
Count:要移除的元素的个数、
7.Contains方法
该方法用来确定元素是否在ArrayList集合中
原型为:Public virtual bool Contains(Object item)
item:要在集合中查找的元素
返回值:如果找得到则为true,反之false
List数组
所属命名空间 System.Collection.Generic
与ArrayList比较,具有的优势:
ArrayList存在不安全类型(ArrayList会把所有插入其中的数据都当做Object来处理),而且如果是值类型(什么是值类型下一篇文章会介绍),则必须在其添加到列表中时进行装箱操作,在检索时进行拆箱操作(费时),会降低性能,尤其是在大型集合进行循环访问的情况下,装箱和拆箱的影响非常明显。
而List< T >可以避免以上情况,性能得到了提高
List< T >这个T代表数据类型。
例如:List< int >,就是代表一个整型数组。
List< String >,就是代表一个字符串类型数组。
List< Person >,就是代表一个Person类数组。
List< T >的常用方法
可以说上面介绍的ArrayList常用方法,它都可以使用,并且用法一模一样.
但是多了两个方法:
1.Sort方法
将数据从小到大排序,跟冒泡排序效果差不多。
2.Reverse方法
将数据反过来排序(但是不排序大小),想排序大小可以和Sort方法结合使用。