List 基本用法总结.docx
《List 基本用法总结.docx》由会员分享,可在线阅读,更多相关《List 基本用法总结.docx(12页珍藏版)》请在三一办公上搜索。
1、List 基本用法总结C#泛型列表List基本用法总结 朱先忠 示例代码如下: namespace SampleListT class Program static void Main(string args) /using System.Collections.Generic; 命名空间中的List /using System.Collections; 命名空间中的ArrayList /都实现了列表集合,一个是泛形集合,一个是非泛型的 /下面我们将Person对象加到集合中 Person p1 = new Person( aladdin , 20 ); Person p2 = new Per
2、son(zhao, 10); Person p3 = new Person(jacky, 40); /如果不制定list的容器大小,默认是,只要有元素加入是,会自动扩展到,如果第个元素加入时,就变成了,第个加入,就成 /可以看出,总是成倍的增长,扩展时要重新开辟内存,这样会影响效率,如果事先知道元素个数,或者可能个数,最好给个尽量大的权衡值 /我们加入个元素,设容器大小为.注:设为不是指只能放个元素,如果超出,一样也会成倍扩展,这样做只是为了尽量扩展带来的开销 List list = new List(4); list.Add(p1); list.Add(p2); list.Add(p3);
3、/本方法是清除多于的没有用的内存空间,例:如果开辟大小为,而我们只用了个,其余的放着,是不是很浪费 /本方法调用时会检查元素个数是不是占到了容器大小的以上,如果是,则不进行回收 list.TrimExcess; /ArrayList方法与List用法一样,不同的是,它是对象集合,参数是Object这样会有装箱拆箱的可能,尽量用List /本处不再做演示 / 1 初始化集合器/ C#3.0开始,提供了初始化功能,但是并没有反应到代码中,在中,一样也是把个转化成ADD方法来调用 List l2 = new List 1 ,2 ,3 ,4 ,5 ; / 2 添加元素 AddRange 本方法可以一次
4、性添加一批对象List lists = new List(10); /参数是一个必须可能跌代的对象,也可是数组 list.AddRange( new Person new Person( aladdin ,20) , new Person(zhao,6); /构造传入批量参数 ,与AddRange效果一样 List mylist = new List(new Person new Person( aladdin ,20) , new Person(zhao,6); / 3 插入元素/ 使用Insert方法,可以在指定位置插入元素 / 例 我们在1位置插入 则最后变成了 aladdin jack
5、y zhao.插入意思就是,这个位我占了,以前占这位的和他之后的,通通往后移一位 mylist.Insert( 1 , new Person( jacky , 88 ); foreach (Person p in mylist) Console.WriteLine(p.name); / 4 访问元素/ ArrayList 与 List都是提供了索引器来访问的 Console.WriteLine( -访问元素-); for (int i = 0; i mylist.Count; i+) Console.WriteLine(mylisti.name); /还可以使用foreach跌代器来实现,些处
6、不再举例 /使用Foreach方法 /public delegate void Action(T obj);例用委托做为参数 /些处我们用呀妈Day表达式实现 Console.WriteLine( -用ForEach方法输出-); mylist.ForEach( param = Console.WriteLine(param.name) ) ; / 5删除元素/删除元素可以使用RemoveAt直接传入索引器值 /将第一个元素直接删除 mylist.RemoveAt(0); /也可以将要删除的元素传给Remove方法 List lists2 = new List(10); Person per1
7、 = new Person( aladdin , 100 ); Person per2 = new Person(zhao, 100); Person per3 = new Person(jacky, 100); lists2.Add(per1); lists2.Add(per2); lists2.Add(per3); lists2.Remove(per3); Console.WriteLine( -删除后的元素-); foreach (Person per in lists2) Console.WriteLine(per.name); /从结果可以看出 名称为Jacky的元素被删除了 /下面
8、说一下Remove方法的删除过程 / 用IndexOf方法确定出对象的索引,然后按索引删除 / 在IndexOf方法内,首先检查元素是不是实现了IEquatable接口,如果是,就调用这个接口中的Equals方法 / 如果没有实现,则调用Object中的Equals方法比较元素(也就是址址比较) / 以上我们删除per3,很显明显一个地址,所以被删除了 / 下面我们改装了Person ,实现了IEquatable,在比较方法中,始终返回false , 则per3会比较失败,不会被删除 / 结果3个都在 / 如果要删除对象,最好使用索引直接删除,因为Remove方法经历了一系列过程后,最后才按索
9、引删除! / RemoveRange删除一个范围 / 第一个参数 开始位置 第二个 个数 /lists2.RemoveRange( 1 , 2 ); /Console.WriteLine( 批量删除后-); /foreach (Person per in lists2) / / Console.WriteLine(per.name); / / 6 搜索/ 搜索有很多种方式,可以使用IndexOf LastIndexOf FindIndex FindLasIndex Find FindLas ,如果只是查看元素存不,可以使用Exists方法 / IndexOf 方法 需要将一个对象做参数, 如果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- List 基本用法总结 基本 用法 总结
链接地址:https://www.31ppt.com/p-3061558.html