免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C C ListList用法用法 所所属属命名空命名空间间 System Collections Generic public class List IList ICollection IEnumerable IList ICollection IEnumerable List类是 ArrayList 类的泛型等效类 该类使用大小可按需动态增加的数组实现 IList 泛型接口 泛型的好泛型的好处处 它为使用 c 语言编写面向对象程序增加了极大的效力和灵活性 不会强行 对值类型进行装箱和拆箱 或对引用类型进行向下强制类型转换 所以性能得到提高 性能注意事性能注意事项项 在在决决定使用定使用 IListIList 还还是使用是使用 ArrayListArrayList 类类 两两者具有者具有类类似的功能 似的功能 时时 记记住住 IListIList 类类在大多在大多数数情情况况下下执执行得更好行得更好并并且是且是类类型安全的 型安全的 如果对 IList 类的类型 T 使用引用类型 则两个类的行为是完全相同的 但是 如果对类型 T 使用值类型 则需要考虑实现和装箱问题 用微用微软软的的话讲话讲 添加到 ArrayList 中的任何引用或值类型都将隐式地向上强制转换为 Object 如果项 是值类型 则必须在将其添加到列表中时进行装箱操作 在检索时进行取消装箱操作 强 制转换以及装箱和取消装箱操作都会降低性能 在必须对大型集合进行循环访问的情况下 装箱和取消装箱的影响非常明显 1 1 ListList 的基的基础础 常用方法 常用方法 声声明 明 1 List mList new List T为列表中元素类型 现在以string类型作为例子 E g List mList new List 2 List testList new List IEnumerable collection 以一个集合作为参数创建List E g string temArr Ha Hunter Tom Lily Jay Jim Kuku Locu List testList new List temArr 添加元素添加元素 1 List Add T item 添加一个元素 E g mList Add John 2 List AddRange IEnumerable collection 添加一组元素 E g string temArr Ha Hunter Tom Lily Jay Jim Kuku Locu mList AddRange temArr 3 Insert int index T item 在index位置添加一个元素 E g mList Insert 1 Hei 遍遍历历ListList中元素中元素 foreach T element in mList T的类型与mList声明时一样 Console WriteLine element E g foreach string s in mList Console WriteLine s 删删除元素除元素 1 List Remove T item 删除一个值 E g mList Remove Hunter 2 List RemoveAt int index 删除下标为index的元素 E g mList RemoveAt 0 3 List RemoveRange int index int count 从下标index开始 删除count个元素 E g mList RemoveRange 3 2 判判断断某某个个元素是否在元素是否在该该ListList中 中 List Contains T item 返回true或false 很实用 E g if mList Contains Hunter Console WriteLine There is Hunter in the list else mList Add Hunter Console WriteLine Add Hunter successfully 给给ListList里面元素排序 里面元素排序 List Sort 默认是元素第一个字母按升序 E g mList Sort 给给ListList里面元素里面元素顺顺序反序反转转 List Reverse 可以与List Sort 配合使用 达到想要的效果 E g mList Sort ListList清清空 空 List Clear E g mList Clear 获获得得ListList中元素中元素数数目 目 List Count 返回int值 E g int count mList Count Console WriteLine The num of elements in the list count 2 2 ListList 的的进阶进阶 强大方法 强大方法 举例用的 List string temArr Ha Hunter Tom Lily Jay Jim Kuku Locu mList AddRange temArr List FindList Find 方法 方法 搜索与指定谓词所定义的条件相匹配的元素 并返回整个 List 中的第一 个匹配元素 public T Find Predicate match Predicate是对方法的委托 如果传递给它的对象与委托中定义的条件匹配 则该方法返 回 true 当前 List 的元素被逐个传递给Predicate委托 并在 List 中向前移动 从第 一个元素开始 到最后一个元素结束 当找到匹配项时处理即停止 Predicate 可以委托给一个函数或者一个拉姆达表达式 委托给拉姆达表达式 E g string listFind mList Find name name是变量 代表的是mList 中元素 自己设定 if name Length 3 return true return false Console WriteLine listFind 输出是Hunter 委托给一个函数 E g string listFind1 mList Find ListFind 委托给ListFind函数 Console WriteLine listFind 输出是Hunter ListFindListFind函函数数 public bool ListFind string name if name Length 3 return true return false 这两种方法的结果是一样的 List FindLastList FindLast 方法 方法 搜索与指定谓词所定义的条件相匹配的元素 并返回整个 List 中的 最后一个匹配元素 public T FindLast Predicate match 用法与List Find相同 List TrueForAllList TrueForAll方法 方法 确定是否 List 中的每个元素都与指定的谓词所定义的条件相匹 配 public bool TrueForAll Predicate match 委托给拉姆达表达式 E g bool flag mList TrueForAll name if name Length 3 return true else return false Console WriteLine True for all flag flag值为false 委托给一个函数 这里用到上面的ListFindListFind函数 E g bool flag mList TrueForAll ListFind 委托给ListFind函数 Console WriteLine True for all flag flag值为false 这两种方法的结果是一样的 List FindAllList FindAll方法 方法 检索与指定谓词所定义的条件相匹配的所有元素 public List FindAll Predicate match E g List subList mList FindAll ListFind 委托给ListFind函数 foreach string s in subList Console WriteLine element in subList s 这时subList存储的就是所有长度大于3的元素 List Take n List Take n 获得前n行 返回值为IEnumetable T的类型与List的类型一样 E g IEnumerable takeList mList Take 5 foreach string s in takeList Console WriteLine element in takeList s 这时takeList存放的元素就是mList中的前5个 List WhereList Where方法 方法 检索与指定谓词所定义的条件相匹配的所有元素 跟List FindAll方法 类似 E g IEnumerable whereList mList Where name if name Length 3 return true else return false foreach string s in subList Console WriteLine element in subList s 这时subList存储的就是所有长度大于3的元素 List RemoveAllList RemoveAll方法 方法 移除与指定的谓词所定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年养老社区全龄化服务项目可行性研究报告及总结分析
- 2025年慢性病管理信息系统开发可行性研究报告及总结分析
- 2025年旅游行业在线旅游平台与旅游体验创新研究报告及未来发展趋势
- 2025年文化传媒行业文化产业创新发展研究报告及未来发展趋势
- 2025年可再生能源投资与回报分析可行性研究报告及总结分析
- 2025年可持续旅游发展模式的可行性研究报告及总结分析
- 2025年跨界合作创新商业模式可行性研究报告及总结分析
- 2025年环境友好型畜牧业发展可行性研究报告及总结分析
- 2025年生态环保旅游开发项目可行性研究报告及总结分析
- 2025年数字货币安全交易技术研究可行性研究报告及总结分析
- 抖音直播培训方案
- 2025宁夏回族自治区大学生乡村医生专项计划招聘工作人员13人考试笔试模拟试题及答案解析
- 非哺乳期乳腺炎诊治专家共识
- 大学生职业生涯规划舞蹈学专业
- 安全教育让孩子们健康快乐地成长
- 足月小样儿护理查房课件
- 泌尿外科-尿道损伤
- 湖南省普通高中毕业生登记表
- 基于CA6150普通车床的数控化改造
- 第一单元 (作业设计)部编版语文四年级下册
- 脑的动脉课件
评论
0/150
提交评论