- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第21章 集合框架 通过前面几章的介绍,读者对Java的基本特性已经有了一定了解。但是关于数据的存储目前还没有一个很好的工具,比如对象集合如何保存,可以使用它们使得在添加、查找、删除对象时候的效率更高。这时候就需要使用集合,使用了这些类和接口,就能方便操作大量的数据。前面讨论了关于数组的感念,其实数组就是一黾希撬泻芏嗖环奖愕牡胤健1热纾憾ㄒ逡桓鍪榈氖焙颍匦肷昝魉某ざ龋橹兄荒艽娣乓恢掷嘈偷氖荩庋钥⒑懿焕Java提供了集合框架来解决这写问题。 21.1 集合概述 本节的主要内容是介绍什么是集合框架,以及现在集合框架的一些新的特性,如泛型、自动装箱与自动拆性、for-each循环等内容。通过本节的学习,读者可以对Java的集合框架有一个大体的概念上的认识,方便后边的学习。 21.1.1 什么是集合框架 Java的集合框架是java.util包中提供的一系列工具,它为程序处理对象组提供了标准的方式。在最初的Java版本中是不包括集合框架的,在添加集合框架之前时是使用一些专门的类,如Vector、Stack、Properties类来完成对象存储等一系列的操作。这些类尽管功能已经能够满足操作的要求,但是它们缺乏一个集中、统一的形式,例如操作Vector类和操作Properties类的过程完全是不同的。另外一个问题就是这些类是不易扩展的,集合框架就是来解决这些问题的。 21.1.2 集合框架新特性 从J2SE 5开始,Java为了进一步提高性能,提供了一系列新的特性,如泛型、自动装箱自动拆箱、for each循环等。尽管这些特性不仅仅是集合框架的原因才加入到Java中来,但不可否认的一点是它们的出现,进一步增强了集合框架的功能。 1. 泛型 2. 自动装箱与自动拆箱 3. for each 循环 21.2 集合接口 集合框架通过定义接口的方式来规范集合类的操作。在Java的集合框架中,主要的接口有Collection接口、List接口、Queue接口、Set接口、SortedSet接口。其中Collection接口处于集合框架层次结构的顶部。本节的主要内容就是对这个几个接口进行介绍。List接口、Queue接口和Set接口都直接继承自Collection接口,SortedSet直接继承自Set接口。 21.2.1 Collection接口 Collection接口是集合框架的基础。它处于整个集合框架层次的顶端,即任何的集合类和接口必须都实现或是扩展该接口。 21.2.2 List接口 List接口扩展自Collection接口,扩展该接口的集合类是一个以列表形式存储的集合。实现此接口类可以列表中每个元素的插入位置进行精确地控制。可以根据元素的整数索引(在列表中的位置)访问元素,也可以列表中的元素。需要注意的一点是列表通常允许重复的元素。如果列表本身允许null元素的话,通常它们允许包含多个null元素。 21.2.3 Set接口 Set接口扩展自Collection接口,它定义了一个组,声明该集合不允许出现相同的元素。当往列表中插入已经存在的元素的时候,该方法会返回false。该接口的定义如下: public interface SetEextends CollectionE 其中E为该Set保存元素的类型。该接口并没有定义自己的方法,它所有的方法都是从接口Collection继承而来。 21.2.4 Queue接口 Queue接口扩展自Collection接口,它声明了一个队列集合。队列通常以先进先出的形式存储元素。 使用该接口的时候,需要注意以下几点:首先,由于队列是先进先出结构的,只能删除队列的头元素。第二点是有两个方法都能删除头元素,poll方法和remove方法,这两个方法的不同在于poll方法在队列为空的时候会返回null,而remove方法会抛出异常。第三点是该方法有两个方法能获得但是不删除队列的头元素,peek方法和element方法。不同在于,peek方法在队列为空的时候会返回null,而element方法在队列为空的时候会产生异常。第四点,跟Collection接口不同的是,当通过off方法插入元素失败的时候并不会产生异常。而是返回false,所以该方法的使用性更高。 21.2.5 SortedSet接口 SortedSet接口扩展自Set并且定义了自己的一些方法。它采用红黑树的数据结构对其元素排序,保证迭代器能够按照元素递增顺序遍历集合。需要注意的一点是,插入有序集合的所有元素都必须实现Comparable接口,这样集合才能对其进行排序。 21.3 集合实现类 在前一节已经介绍过集合类的主要几个接口,这样就能对集合框架有一个大概的认识。本节的主要内容是介绍几个常
您可能关注的文档
- 第十一章钛合金-公开课件.ppt
- 第十一章严羽和南宋金元的-公开课件.ppt
- 第十一章阳离染料的染色-公开课件.ppt
- 第十一章预处理命令-公开课件.ppt
- 第十一章忠勇无敌大将军——蟋蟀-公开课件.ppt
- 第五单元复习要点-公开课件.ppt
- 第五妇科疾病的诊断要点-公开课件.ppt
- 第五化妆品-公开课件.ppt
- 第五讲茶、酒的医疗保健养生作用-公开课件.ppt
- 第五讲土地适宜性评价-公开课件.ppt
- 2025年中国2,4,6一三甲基苯甲酰基膦酸乙酯(光引发剂TOP-L)行业市场分析及投资价值评估前景预测报告.docx
- 2025年中国1,1-二溴-3,3,3-三氟丙酮行业市场分析及投资价值评估前景预测报告.docx
- 2025年中国1,3-苯二乙酸行业市场分析及投资价值评估前景预测报告.docx
- 2025年中国2,6二氯吡啶行业市场分析及投资价值评估前景预测报告.docx
- 2025年中国2-丙烯酸-2-甲氧基乙酯行业市场分析及投资价值评估前景预测报告.docx
- 2025年中国1,1,3-三氯丙酮行业市场分析及投资价值评估前景预测报告.docx
- 2025年中国1,1-二苯基丙酮行业市场分析及投资价值评估前景预测报告.docx
- 2025年中国(3,3-二甲基-1-丁炔)六羰基二钴(CCTBA)行业市场分析及投资价值评估前景预测报告.docx
- 2025年中国2-氨基-5-溴吡啶行业市场分析及投资价值评估前景预测报告.docx
- 2025年中国可再分散性乳胶产品行业市场分析及投资价值评估前景预测报告.docx
最近下载
- GBT176—2017水泥化学分析方法.docx VIP
- 无人机气象监测解决方案.docx VIP
- 卓越研究生英语_综合教程1(人文篇)吴樯_习题答案解析.pdf
- 临床伦理和科研道德学堂在线答案.docx VIP
- 大模型重构大数据产业发展白皮书-时代呼唤全新的大数据.docx VIP
- 深基坑开挖、支护及降水安全专项施工方案.pdf VIP
- 2025黑龙江省农业投资集团有限公司招聘12人笔试备考试题及答案解析.docx VIP
- 游标卡尺的读数方法.ppt VIP
- 一年级10以内口算100道题共20套直接.docx VIP
- 2025年国家公务员考录《申论》真题及参考答案(行政执法卷).docx VIP
文档评论(0)