首页 > 代码库 > ArrayList集合
ArrayList集合
<1>
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; namespace ArrayList集合 { class Program { static void Main(string[] args) { //数组:长度不可变。类型单一。而集合的好处就是:长度可以改变,任何类型的数据都可以放入集合中。 ArrayList list = new ArrayList(); //创建一个集合对象。 list.Add(2); list.Add(3.14); list.Add(true); list.Add(new int[] { 1, 2, 3, 4 });//将一个int[]数组放入list集合 User u=new User() { Name="周晶",Age=25}; list.Add(u); //将一个对象放入list集合中 for (int i = 0; i < list.Count; i++) { Console.WriteLine(list[i]); } Console.ReadKey(); } } public class User { public string Name { get; set; } public int Age { get; set; } } }
以上代码输出结果:
既然想打印出list中的素组元素。那就的做一个判断吧。代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; namespace ArrayList集合 { class Program { static void Main(string[] args) { //数组:长度不可变。类型单一。而集合的好处就是:长度可以改变,任何类型的数据都可以放入集合中。 ArrayList list = new ArrayList(); //创建一个集合对象。 list.Add(2); list.Add(3.14); list.Add(true); list.Add(new int[] { 1, 2, 3, 4 });//将一个int[]数组放入list集合 User u=new User() { Name="周晶",Age=25}; list.Add(u); //将一个对象放入list集合中 for (int i = 0; i < list.Count; i++) { //那么如果要将Add(new int[] { 1, 2, 3, 4 })中的元素打印出来怎么办? if (list[i] is int[]) { for (int j = 0; j < ((int[])list[i]).Length; j++) { Console.WriteLine(((int[])list[i])[j]); } } else if (list[i] is User) { Console.WriteLine(u.Name); Console.WriteLine(u.Age); } else { Console.WriteLine(list[i]); } } Console.ReadKey(); } } public class User { public string Name { get; set; } public int Age { get; set; } } }以上代码如下:
可是以上代码这样写就太麻烦了。每次打印一下list里面的数组(集合)元素就要做这么一个判断多麻烦。所以AddRange()方法就出现了。专门为list中添加数组(集合)元素而专设。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; namespace ArrayList集合 { class Program { static void Main(string[] args) { //数组:长度不可变。类型单一。而集合的好处就是:长度可以改变,任何类型的数据都可以放入集合中。 ArrayList list = new ArrayList(); //创建一个集合对象。集合:很多数据的集合 //Add(object value); AddRange(ICollection c);根据里氏转换定律:如果一个地方需要父类的对象,那么我也可以将他的子类对象给它。因为Object是任何类的父类。所以Add()里可以放入任何类型的数据。而ICollection是一个集合接口,所以可以将一个集合(数组)对象给它。 list.Add(2); list.Add(3.14); list.Add(true);//将一个bool类型的放入list集合中 list.Add(new int[] { 1, 2, 3, 4 });//将一个int[]数组放入list集合中 list.AddRange(new int[] { 5, 6, 7, 8 });//将一个int[]数组放入list集合中 list.Add(new User() { Name="周晶",Age=25}); //将一个对象放入list集合中 for (int i = 0; i < list.Count; i++) { Console.WriteLine(list[i]); } Console.ReadKey(); } } public class User { public string Name { get; set; } public int Age { get; set; } } }
以上代码输出内容
===============================================================================================
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; namespace ArrayList集合 { class Program { static void Main(string[] args) { //数组:长度不可变。类型单一。而集合的好处就是:长度可以改变,任何类型的数据都可以放入集合中。 ArrayList list = new ArrayList(); //创建一个集合对象。集合:很多数据的集合 //----------------------Add()添加 //Add(object value); AddRange(ICollection c);根据里氏转换定律:如果一个地方需要父类的对象,那么我也可以将他的子类对象给它。因为Object是任何类的父类。所以Add()里可以放入任何类型的数据。而ICollection是一个集合接口,所以可以将一个集合(数组)对象给它。 list.Add(2); list.Add(3.14); list.Add(true);//将一个bool类型的放入list集合中 list.Add(new int[] { 1, 2, 3, 4 });//将一个int[]数组放入list集合中 list.AddRange(new int[] { 5, 6, 7, 8 });//将一个int[]数组放入list集合中 list.Add(new User() { Name = "周晶", Age = 25 }); //将一个对象放入list集合中 //----------------------Clear() 清空所有元素 list.Clear(); //----------------------Remove() 移除 list.Remove(true); //删除指定元素。这里是:将list集合中 “true”这个元素删除 list.RemoveAt(2);//删除指定索引处的元素。这里是:删除索引下标为2的那个元素 list.RemoveRange(0, 2);//删除一定范围内的元素。这里是:从索引下标为0的元素开始删,总共删除2个元素。 //----------------------Insert() 插入 list.Insert(1, "张三");//将一个单一元素插入到list中;这里是:将"张三"这个元素插入到list这个集合中,插入的位置是索引下标为1处 list.InsertRange(0, new string[] { "大哥", "二哥", "小弟" }); //将一个集合插入到list中;这里是:将一个集合插入到list这个集合中。插入的位置是索引下标为0处。 //----------------------Contains() 包含 bool b = list.Contains(2); //检查"2"这个元素是否包含在list集合中。 //----------------------Reverse() 反转 list.Reverse();//将list中元素的顺序反转(注:不是降序排序) //----------------------Sort() 排序 list.Sort(); //对list这个集合进行升序排序 //注意不要乱用哦,因为list是一个集合,不是一个单一的数组。遇到字符串就不知道怎么排序了。就会报错的哦。 for (int i = 0; i < list.Count; i++) { Console.WriteLine(list[i]); } Console.ReadKey(); } } public class User { public string Name { get; set; } public int Age { get; set; } } }
ArrayList集合
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。