泛型集合

  1 static void Main(string[] args)
  2         {
  3 
  4             ArrayList arrayList = new ArrayList();
  5             arrayList.Add(1);                       //Add方法,将一个元素添加到ArrayList中
  6             arrayList.Add("你好");
  7             arrayList.Add(3.265);
  8             IList iList = arrayList;
  9             ICollection iCollection = iList;
 10             IEnumerable iEnumerable = iCollection;  //体现了ArrayList的继承关系
 11             foreach (object obj in iEnumerable)
 12             {
 13                 Console.WriteLine(obj.ToString());
 14             }
 15 
 16             bool b = arrayList.Contains("你好");  //确定ArrayList中是否包含某元素
 17             Console.WriteLine(b);                 //输出 True
 18 
 19             object[] objArr = new object[arrayList.Count + 1];
 20             objArr[0] = "我是用来占位的";
 21             arrayList.CopyTo(objArr, 1); //便宜一位,也就是接受数组从1开始,默认是0
 22             foreach (object obj in objArr)
 23             {
 24                 Console.Write(obj.ToString() + "-");    //输出 我是用来占位的-1-你好-3.265-
 25             }
 26             Console.WriteLine();
 27 
 28             ArrayList AL = ArrayList.FixedSize(arrayList);  //静态方法 返回一个固定大小的ArrayList对象,数量不许改变。也就是说不能添加和删除。
 29             Console.WriteLine(AL.IsFixedSize);  //输出True
 30             //AL.Add(111); 此处报异常,"集合的大小是固定的"
 31             ArrayList ALReadOnly = ArrayList.ReadOnly(arrayList);
 32             Console.WriteLine(ALReadOnly.IsReadOnly);   //输出True
 33 
 34 
 35             ArrayList AL1 = arrayList.GetRange(1, 2);   //按照索引顺序截取出子集
 36             foreach (object obj in AL1)
 37             {
 38                 Console.Write(obj.ToString());  //输出 你好3.265    可以截取出的新ArrayList只包含1,2位
 39             }
 40             Console.WriteLine();
 41 
 42             int indexLocation = arrayList.IndexOf(1);   //从左边开始检索,返回第一个匹配到的元素的顺序
 43             Console.WriteLine(indexLocation);   //输出  0
 44 
 45             arrayList.Add(1);       //为了体现LastIndexOf的不同,先添加一个1
 46             int lastLocation = arrayList.LastIndexOf(1);
 47             Console.WriteLine(lastLocation);    //返回3
 48 
 49             arrayList.Insert(2, "Insert插入的元素");  //这个方法与Add的不同在于它可以在任意位置插入
 50             foreach (object obj in arrayList)
 51             {
 52                 Console.Write(obj.ToString() + " ");    //输出 1 你好 Insert插入的元素 3.265 1
 53             }
 54 
 55             ArrayList arr = new ArrayList();
 56             arr.Add(1);
 57             arr.Add(2);
 58             arrayList.AddRange(arr);
 59             foreach (object obj in arrayList)
 60             {
 61                 Console.Write(obj.ToString() + "-");    //输出 1 你好 Insert插入的元素 3.265 1 1 2可以看到将一个新的集合追加到了最后
 62             }
 63 
 64             arrayList.Remove(2);
 65             foreach (object obj in arrayList)
 66             {
 67                 Console.Write(obj.ToString() + "-");    //输出 1 你好 Insert插入的元素 3.265 1 1 可以看到2已经被移除了
 68             }
 69             Console.WriteLine();
 70 
 71             arrayList.RemoveAt(0);
 72             foreach (object obj in arrayList)
 73             {
 74                 Console.Write(obj.ToString() + "-");    //输出 你好 Insert插入的元素 3.265 1 1 可以看到第0个元素"2"已经被移除了
 75             }
 76             Console.WriteLine();
 77 
 78             //arrayList.Reverse();
 79             //foreach (object obj in arrayList)
 80             //{
 81             //    Console.Write(obj.ToString() + "-");        //输出顺序倒转的所有元素
 82             //}
 83 
 84             ArrayList AL3 = new ArrayList();
 85             arrayList.SetRange(0,AL3);      //从第0位开始,将元素复制到AL3中
 86             foreach (object obj in AL3)
 87             {
 88                 Console.Write(obj.ToString() + "-");    //输出 你好 Insert插入的元素 3.265 1 1
 89             }
 90 
 91             object[] objArrs = new object[arrayList.Count];
 92             objArrs = arrayList.ToArray();
 93             foreach (object obj in objArrs)
 94             {
 95                 Console.Write(obj.ToString() + "-");
 96             }
 97 
 98             Console.WriteLine();
 99 
100             arrayList.Capacity = 5;     //读取或设置可包含元素的数量,如果小于当前会报错。
101             Console.WriteLine(arrayList.Count);     //输出5   
102             arrayList.TrimToSize();
103             Console.WriteLine(arrayList.Count);     //输出5  
104 
105             Console.ReadKey();
106         }
原文地址:https://www.cnblogs.com/Jacklovely/p/5607822.html