C# ArrayList集合

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

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 //引入 ArrayList 所在的命名空间
 6 using System.Collections;
 7 
 8 namespace Test
 9 {
10     class Program
11     {
12         static void Main(string[] args)
13         {
14             //创建 ArrayList 数组
15             ArrayList array = new ArrayList();
16 
17             //用Add 方法往 ArrayList 添加数据
18             array.Add("ABC");
19             array.Add(123);
20             //用Insert 方法,传入下标和值的方式添加数据
21             array.Insert(2, "新插入的值");
22 
23             //修改 ArrayList 里的数据
24             array[1] = 456;
25 
26             //用 RemoveAt 方法根据下标移除 ArrayList 里的数据
27             array.RemoveAt(0);
28             //用 RemoveAt 方法删除数据,会删除集合中第一个和传入的数据相等的元素。
29             array.Remove("ABC");
30 
31             //遍历 ArrayList里面的数据
32             foreach (var item in array)
33             {
34                 Console.WriteLine(item);
35             }
36             
37         }
38     }
39 }

 

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()   将集合中存储数据的数组的多余的元素删除。
 
 
posted @ 2015-08-24 22:35  Chen_Weifeng  阅读(2778)  评论(0编辑  收藏  举报