网站大量收购独家精品文档,联系QQ:2885784924

Java 实用程序设计(西电版)第5章 容器类.pptVIP

Java 实用程序设计(西电版)第5章 容器类.ppt

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

;5.1容器的概念与相互关系

Java容器类的对象实例又称为容器,容器用于保存对象。根据所存储的元素的形式,可将容器按照接口不同划分为两大类:

(1)Collection:一个由一系列元素组成的序列,其中的元素是指向其他对象的引用。

(2)Map:一个由一系列“键值对〞组成的序列,允许通过键查找值。;;;;;5.2Set接口及其实现

Set不接受重复的元素。JavaSE中提供3种Set容器的实现:HashSet、TreeSet和LinkedHashSet。HashSet类采用Hash表实现Set接口,它的查询速度最快,但其中的元素没有固定顺序;TreeSet类采用红黑树结构实现了SortedSet接口,能够保证元素处于排序状态;LinkedHashSet类采用Hash表与链表结合的方式实现Set接口,它能够以插入顺序保存元素。;;;;;5.3List接口及其实现

与数组类似地,List也可以建立数字索引与具体对象的关联,区别在于List可以自动扩充容量。JavaSE中有两种类型的List:ArrayList和LinkedList。;;;;;;;5.4Queue接口及其实现

Queue是一种先进先出(FIFO)的容器。程序从Queue的一端放入对象,从另一端取出对象,对象进入和取出的顺序是相同的。在JavaSE中,LinkedList实现了Queue接口,因此LinkedList可以用作Queue的一种实现。;;;;;;5.5Map接口及其实现

Map是一系列“键-值〞之间的映射关系,是一种将对象(而非数字)与对象相关联的设计。在很多情况下,这一设计都能够有效地解决问题,例如,当我们需要统计一篇论文中的各个英文单词的个数时,可创立一个由String映射到Integer的Map。Map的值可以是复杂的结构,例如,当希望将一个科学家与其发表的论文列表建立映射时,可以建立一个MapScientist,ListPaper。;;;;;5.6迭代器

List容器可以通过索引对其中的元素进行访问,Queue可以通过具体方法对队首的元素进行访问。对于不同类型的容器,遍历和操作的方式是不同的。但是在有些时候,需要应对这样的情况,对于不同类型的容器,我们希望能够通过同样的方式执行访问,这样就不需要根据不同的容器类型进行不同的编码。容器的迭代器(Iterator)针对这一需求给出了解决方法。;迭代器具有如下特征:

(1)迭代器只能单向移动;

(2)使用容器的iterator()方法返回容器的迭代器,迭代器准备返回容器的第一个元素;

(3)使用next()方法获得序列的下一个元素;

(4)使用hasNext()方法检查序列中是否还有元素;

(5)使用remove()将迭代器新近返回的元素(即由next()产生的最后一个元素)删除,因此在调用remove()之前必须先调用next()。;;;ListIterator是Iterator的子类型,它只能用于各类List容器的访问。通过List接口的listIterator方法能够返回用于List容器的ListIterator。与一般迭代器相比,ListIterator的功能更全面,除了具有Iterator接口所规定的行为特征以外,它还具有如下特征:

(1)使用hasPrevious()方法检查序列中是否有前一个元素;

(2)使用nextIndex()方法返回下一次next()方法调用将要返回的元素的索引;

(3)使用previous()方法返回序列中的前一个元素;;(4)使用previousIndex()方法返回下一次previous()方法调用将要返回的元素的索引;

(5)使用set()方法将上一次next()调用或previous()调用所返回的元素替换为参数所指定的元素;

(6)使用add()方法向序列中下一个next()被访问元素之前(亦即下一个previous()被访问元素之后)参加指定的元素。参加元素后,隐含指针在新参加元素之后,即调用next()的返回结果不变,而调用previous()的返回结果是新参加的元素。;;;;;5.7容器类的高级话题

1.Comparable接口

Comparable接口为实现这个接口的类的每一个对象提供了一种全序关系,即如果一个类实现了Comparable接口,那么这个类的任意两个对象就可以比较大小。这样的一种全序关系又称为这个类的自然顺序。实际上,Comparable接口中只有一个compareTo()方

文档评论(0)

ranfand + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档