C# ArrayList Remove RemoveRange Reverse SetRange 方法的学习
Sort的IComparer我不会设置,以后的再搞。。。QAQ
1 using System; 2 using System.Collections; 3 4 namespace C_9_4 5 { 6 7 class Program 8 { 9 10 private static void PutTXT(ArrayList b) 11 { 12 int i; 13 for (i=0;i<b.Count;i++) 14 { 15 Console.WriteLine("{0}", b[i]); 16 } 17 Console.WriteLine("////////////////////////");//分割线 18 19 } 20 static void Main(string[] args) 21 { 22 //ArrayList.Remove 23 //移除 指定项的第一个指定元素 24 //格式 ArrayList1.Remove(Object); 25 26 ArrayList a = new ArrayList(); 27 28 a.Add("我"); 29 a.Add("是"); 30 a.Add("傻"); 31 a.Add("逼"); 32 a.Add("傻"); 33 a.Add("逼"); 34 a.Add("是"); 35 a.Add("我"); 36 PutTXT(a); 37 //先验证输出后的结果的完整性 38 a.Remove("傻"); 39 PutTXT(a); 40 //从这一步的输出结果来看,第一个“傻”已经被移除了,而第二个傻字还在 41 42 //ArrayList.RemoveAt 43 //移除 指定位置的一个元素 44 //格式 ArrayList1.RemoveAt(Int32); 45 //我们继续在上面a的基础上写 46 47 a.RemoveAt(3);//注意这里Int32填写的是下标索引 48 PutTXT(a);//从这里看出指定的位置元素已经被移除了 49 50 //ArrayList.RemoveRange 51 //移除 指定范围内的所有元素 52 //格式 ArrayList1.RemoveRange(index,count); 53 //index表示的是要移除元素的从零开始的索引 54 //count表示要移除元素的个数 55 56 ArrayList b = new ArrayList() {"我","才","不","是","猪","头","怪" }; 57 PutTXT(b); 58 b.RemoveRange(1,2); 59 PutTXT(b); 60 //从这里我们能看出来,我们移除了下标为1,到下标为2 的元素,所以这里的的“才”“是”被移除了 61 62 //ArrayList.Reverse 63 //第一种方法 64 //ArrayList1.Reverse(); 65 //将所有的元素反转顺序 66 ArrayList c = new ArrayList() {"你","玩","个","锤","头","兵","哦" }; 67 ArrayList d = new ArrayList() { 1, 2, 4, 5, 3, 8, 6 }; 68 //我们先来对d进行反转 69 d.Reverse(); 70 PutTXT(d); 71 //再对c进行反转顺序 72 c.Reverse(); 73 PutTXT(c); 74 75 //第二种方法就是指定一个部分,只让那个部分反转顺序 76 //ArrayList1.Reverse(index,count); 77 //这里index为从0开始的索引,count为需要反转的个数 78 79 //先把c转回来 80 c.Reverse(); 81 c.Reverse(3,2);//表示从下标为3的元素开始,数两个数据,然后反转顺序 82 PutTXT(c); 83 //成功的将”锤头“反转成了”头锤“ 84 85 //ArrayList.SetRange(index,Colletion); 86 //将IColletion 复制到index索引的位置 87 //将集合中的元素复制到ArrayList一定范围的元素上面 88 //就任然以d为例 89 d = new ArrayList() { 1, 2, 4, 5, 3, 8, 6 }; 90 ArrayList e = new ArrayList() {'S',1,5 }; 91 int[] f = new int[]{4,3}; 92 char[] g = new char[] {'B','A' }; 93 94 //先测试e 95 d.SetRange(1,e); 96 PutTXT(d); 97 //这里从2开始被覆盖率,一直到e完全输出完 98 //而且可以调用ArrayList类来完成复制 99 d = new ArrayList() { 1, 2, 4, 5, 3, 8, 6 }; 100 //d.SetRange(6, e); 101 //PutTXT(d); 102 //还是那个问题,复制的长度不能超过本来的长度,否在越界 103 104 d.SetRange(0, f); 105 PutTXT(d); 106 d.SetRange(0, g); 107 PutTXT(d); 108 //由于ArrayList的特性,不管是什么类型的元素,他都可以装下去 109 110 //ArrayList.Sort 111 //之前我们有介绍过Sort方法,但当时是为了学习BinarySearch时粗略的了解了一下 112 //Sort也有三种表示方法 113 //ArrayList.Sort()最基本的我就不赘述了 114 115 //ArrayList.Sort(IComparer) 116 //比较元素的时候要使用IComparer 117 //但是我不会,就以后再搞吧,,, 118 119 } 120 121 } 122 123 }
悟已往之不谏,知来者之可追