- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
                        查看更多
                        
                    
                Java技术及其应用(下)ppt151
                    多媒体应用 广东工业大学 Java技术及其应用 第1章 语言基础  第2章 面向对象结构  第3章 基本I/O   第4章 增强性能类  第5章 收集与数据结构应用  第6章 图形用户界面及桌面应用 第7章 小程序及多媒体应用   第8章 JDBC与数据库应用  第9章 JavaBeans及组件应用   第10章 网络与Web服务应用  Java技术及其应用 第5章 收集与数据结构应用 如果我们知道多个对象的准确数量,可以用数组这种数据类型来存放这些对象。但在很多情况下,对象个数并不能事先确定,用数组保存就有困难。Java设计了收集(collection)系列,提供了更复杂的方式保存对象,解决了数组无法解决的问题。 5.1收集的概念 收集有时也叫容器(container),它把多个元素放进一个单元里,形成一个对象。收集用于存储、读取、处理和交流聚集的数据。 Java的收集形成了收集框架(collections framework)的体系结构,包括接口、实现、算法三部分。这种框架有许多优点,比如减轻编程负担,增加编程速度与质量,鼓励软件复用等。 5.2 Collection接口 这是收集系列的根,具有最大的通用性,允许重复元素存在,不要求元素排序等,是其他特殊收集的“最小公倍数”。通用目的的各种收集在实现时都用Collection做构造方法的参数,方便转换收集的类型。 5.3 Set Set是不能包含重复元素的Collection,它是数学集合抽象的模型。Set接口的方法仅继承了Collection的方法,并增加不允许重复元素的限制。 5.3.1 Set的实现 Java平台有三种通用目的的Set实现:HashSet,TreeSet和LinkedHashSet。HashSet用哈希表存放元素,实现性能最好,但不保证列举顺序。TreeSet用红-黑树存放元素,按元素值排次序,比HashSet慢。LinkedHashSet是链表实现的哈希表,按元素插入集合的顺序排次序,次序不混乱,但代价高一些,介于HashSet和TreeSet之间。 5.3.2 Set的数学应用 Set与成批操作形成数学的集合代数运算。假设a和b是Set,a.containsAll(b)可以判断b是否a的子集。a.addAll(b)形成a并b,a.retainAll(b)形成a交b,a.removeAll(b)形成a与b的差。还可以求a与b的对称差,即a与b的非共同元素组成的集合。 5.4 List List是有序的Collection,有时也叫序列(sequence),基本上是按插入顺序排列的,可以包含重复元素。List接口继承了Collection的方法,删除操作总是删除列表中第一个出现的指定元素,加入操作总是加在列表的末尾。 5.4.1 List的实现 Java平台有两种通用目的的List实现:ArrayList和LinkedList。前者提供固定时间的按位置访问,插入删除是线性时间,通常性能比较好。后者的插入删除是固定时间,在经常需要插入删除时性能稍好。 5.4.2 List的数据结构应用 Collections类有许多算法适用于List,如合并排序(sort)、随机搅乱(shuffle)、序列反向(reverse)、循环(rotate)、元素交换(swap)、全部替换(replaceAll)、填充(fill)、拷贝(copy)、二分搜索(binarySearch)、首个子列表下标(indexOfSubList)、末个子列表下标(lastIndexOfSubList)等,方便我们对数据进行处理。 5.5 Queue Queue是保持元素重于处理元素的Collection,通常是按先进先出方式安排元素,插入元素是在队尾,删除元素是在队头。但优先队列是按值来安排的,插入不一定在队尾。有些Queue实现时限制了所保持元素的数量,称为限界。 5.5.1 Queue的实现 每种Queue实现必须说明它的安排性质。LinkedList类实现了Queue接口,提供了先进先出队列的操作。PriorityQueue类是基于优先堆数据结构的优先队列,也实现了Queue接口。BlockingQueue接口是并发Queue接口,定义了阻塞队列的方法,由SynchronousQueue类等几个并发队列类实现它。 5.5.2 Queue的数据结构应用  用优先队列实现堆排序。先创建一个随机列表,然后把随机列表放入PriorityQueue构造方法中形成堆,优先队列中删除的每个元素依次加入列表中,输出的列表已排好序。 5.6 Map Map是把键(key)映射到值(value)的对象,映射不能包含重复的键,一个键至少可以映射一个值,它是数学函数抽象的模型。 5.6.1 Map的实现 Ja
                您可能关注的文档
最近下载
- 整本书阅读《平凡的世界》同步练习(含解析)中职语文高教版(2023)基础模块上册.docx VIP
- 异位妊娠病人术后护理.pptx
- 高教版中职语文基础模块 上册第四单元整本书阅读《平凡的世界》阅读指导教学设计.docx VIP
- 苏教版高中化学必修第一册全册教学课件.pptx
- 高中理综高三模拟高考(全国Ⅱ卷)实战演练卷——新疆高考模拟3月卷理科综合能力.doc VIP
- 关于加强金属非金属地下矿山外包工程指导意见.doc VIP
- 关于加强金属非金属地下矿山外包工程安全管理的若干规定.docx VIP
- 主新闻中心介绍.doc VIP
- 2023-2024学年江苏省南京市玄武区九年级(上)英语期中试题和答案.pdf VIP
- GoPro Cameras HERO13 Black Product Manuals 中文简体说明书用户手册.pdf
 原创力文档
原创力文档 
                        

文档评论(0)