using System; using System.Collections.Generic; using System.Text; using System.Collections; namespace V3._ArrayList类中元素的添加 { class Program { static void Main(string[] args) { //前面讲到数组一旦给定大小就是固定的了,不能再改.还有一种数组是可以极高扩充的, //即 ArrayList 类 ,被称为动态数组或者集合 //使用步骤: //1.引入命名空间 System.Collections //2.创建实例 //3.引用对应的属性或方法 //ArrayList 好处是,长度不固定,类型随意 //Capacity 获取或设置ArrayList 可包含的元素数 //Count 获取ArrayList 实际包含的元素数 //IsFixedSize 获取一个值,该值指示ArrayList是否具有固定大小 //IsReadOnly 获取一个值,该值指示ArrayList是否为只读 //Item 获取或设置指定索引处的元素 ArrayList myArrayList = new ArrayList(5); Console.WriteLine("myArrayList初始化后有{0}个元素", myArrayList.Count); //ADD方法 只能添加单个元素,每次只能加一个 myArrayList.Add(123); myArrayList.Add('a'); myArrayList.Add("mystring"); myArrayList.Add(25.6); myArrayList.Add(10L); Console.WriteLine("使用ADD后有{0}个元素", myArrayList.Count); //AddRange方法用于一次性向ArrayList中添加多个元素,可以使一个数组 string[] mystringArray ={ "张三", "李四", "王五", "赵六" }; myArrayList.AddRange(mystringArray); Console.WriteLine("使用AddRange后有{0}个元素", myArrayList.Count); //遍历集合元素 //引用类型 string object类是所有类型的基类 Console.WriteLine("遍历集合元素"); foreach (object outelement in myArrayList) Console.Write(outelement + "\t"); Console.WriteLine(); //元素删除 Console.WriteLine("元素删除"); //1.Remove(值); Console.WriteLine("用方法Remove 删除后的结果:"); myArrayList.Remove("张三"); foreach (object outelement in myArrayList) Console.Write(outelement + "\t"); //2.RemoveAt(索引值); Console.WriteLine("\n 用方法Remove 删除后的结果:"); myArrayList.RemoveAt(3); foreach (object outelement in myArrayList) Console.Write(outelement + "\t"); //3.RemoveRange(起始的索引,删除个数); Console.WriteLine("\n 用方法Remove 删除后的结果:"); myArrayList.RemoveRange(3,2); foreach (object outelement in myArrayList) Console.Write(outelement + "\t"); //4.RemoveRange(); 清除所有元素 Console.WriteLine("\n 用方法Clear 清除所有元素:"); myArrayList.Clear(); foreach (object outelement in myArrayList) Console.Write(outelement + "\t"); ////// ArrayList类中元素的遍历与查找 Shift +Alt +F10 命名空间调用 Console.WriteLine("\n ArrayList类中元素的遍历与查找:"); ArrayList myArrayList1 = new ArrayList(); myArrayList1.Add("数字"); int[] myintArray1 ={1,2,3,4,5,6,7,8,9 }; myArrayList1.AddRange(myintArray1); myArrayList1.Add("字符串"); string[] mystringArray1 ={ "张三", "李四", "王五", "赵六" }; myArrayList1.AddRange(mystringArray1); foreach (object outElement in myArrayList1) Console.Write(outElement + "\t"); //元素查找 //1.IndexOf(要查的元素) 首次 找不到返回-1 //2.LastIndexOf(要查的元素) 最后次 找不到返回-1 //3.BinarySearch 查找不到返回 负数 Console.WriteLine("\n IndexOf查找的值位置" + myArrayList1.IndexOf("张三")); //Console.WriteLine("\n IndexOf查找的值位置" + myArrayList1.BinarySearch ("张三")); //因为类中 数据类型不同无法使用 //冒泡排序 Console.WriteLine("\n 冒泡排序,请输入6个整数,我们将对它进行排序"); int[] myintArray3 = new int[6]; for (int i = 0; i < myintArray3.Length; i++) { myintArray3[i] = Convert.ToInt32(Console.ReadLine()); } //进行排序 for (int i = 0; i < myintArray3.Length - 1; i++) { int temp; for (int j = 0; j < myintArray3.Length - 1 - i; j++) { //升序排列 if (myintArray3[j] < myintArray3[j + 1]) { temp = myintArray3[j]; myintArray3[j] = myintArray3[j + 1]; myintArray3[j + 1] = temp; } } } foreach (object outElement in myintArray3) Console.Write(outElement + "\t"); Console.ReadKey(); } } } |
|
来自: 时间剧毒 > 《ArrayList》