java 第19章 集 合 框 架.pptVIP

  1. 1、本文档共19页,可阅读全部内容。
  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文档。上传文档
查看更多
第19章 集 合 框 架 在日常生活中,放衣服是一门学问,是把衬衫和裤子等衣服都放在一个盒子中呢?还是每一件衣服放在一个盒子中呢?读者都知道这两种做法都不好,通常都是将一类衣服放在一起。同样,在Java中也提供了这样的功能,那就是集合框架。在前面已经学习了数组,集合框架也是和数组一样来保存一组数据。集合框架主要包括列表、集合和映射。 19.1.1 什么是集合框架 集合框架是Java提供的可定义对象,该对象由其他的对象组成,如常见的向量(Vector)类。集合框架是一个统一的可以代表及操作集合,并能对这些集合独立的进行操作的一些结构。集合框架的主要优点在于提高了编码效率、性能和复用性。 19.1.2 Collection接口 上一节中已经介绍,Collection代表着一组对象,这些对象称为Collection的元素。Collection接口是集合继承树中最顶层的接口,该接口声明了集合中常用到的一些通用方法。 19.2 列表 List列表作为集合中的一种,其主要特点在于其中的元素保持一定的顺序,并且元素是可以重复的。本节将具体讲解List的使用及其实现类(如ArrayList、LinkedList)的使用。List接口继承自Collection接口,代表列表的功能(角色),其中的元素可以按索引的顺序访问,所以也可以称之为有索引的Collection。实现该接口的类均属于Ordered类型,具有列表的功能,其元素顺序均是按添加(索引)的先后进行排列的。 19.2.1 List列表接口 除了继承了Collection声明的方法外,List接口在iterator、add、remove、equals和hashCode方法的基础上加了一些其他约定,超过了Collection接口中指定的约定。同时,List比Collection多了10个方法,这些方法可以分为访问方法、迭代器方法、搜索方法和插入、删除方法。 19.2.2 Vector类 Vector类也称为向量,从Java一诞生就有,后来被作为集合框架的一部分,其性能特点与ArrayList基本上是相同的。不同之处是该类的功能方法是同步的,同一时刻只能有一个线程访问,没有特殊需要,现在一般都使用ArrayList,ArrayList会在下一节中讲解。 19.2.3 ArrayList类 本节主要向读者介绍ArrayList类,其是List接口最常用的实现之一,ArrayList是由数组实现的List,他提供常量事件的位置访问,而且速度很快。不需要为List中的每一个元素分配节点对象。ArrayList中的功能方法大多都实现自List接口。可以向其中添加包括null值在内的所有对象引用型的元素,甚至该类对象引用自己也可以作为其中的元素,这样便可以方便地搭建一个树状结构的集合。 19.2.4 LinkedList类 本节主要介绍LinkedList类,其功能与ArrayList、Vector相同,都是列表(List)的实现。其内部是依赖双链表来实现的,因此具有很好的插入删除性能,但随机访问元素的性能相对较差,适合用在插入、删除多,元素随机访问少的场合。而且LinkedList中的功能方法大多继承自List接口。 19.3 集合 Set接口以及其子接口与实现了这些接口的类都叫做集合,Set集合是一种不包含重复元素的Collection,即任意的两个元素e1和e2比较,结果都不相等。注意,Set的构造函数有一个约束条件,传入的Collection参数不能包含重复的元素。必须小心操作可变对象(Mutable Object)。如果一个Set中的可变元素改变了自身状态,Object.equals(Object)=true会发生一些问题。 19.3.1 Set接口 Set接口与List接口最大的区别在于Set中没有重复的元素。Set是非常简单的集合,Set中的对象没有特定顺序。Sorted接口具有排序的功能,TreeSet类则是实现了该接口;HashSet类使用哈希算法存取集合中的元素,存取速度比较快。Set接口声明如下所示。 public interface SetEextends CollectionE 19.3.2 SortedSet接口 SortedSet继承自Set接口,所以该接口不但具有Set的所有功能,而且是一个Sorted类型的Set。也就是说,实现该接口的类将按元素的天然顺序自动排序,不管插入的顺序是什么,其总会按照元素的天然顺序进行遍历。 19.3.3 TreeSet类 TreeSet类是实现了接口SortedSet的类,是SortedSet的唯一实现形式,当需要按值排序迭代的时候,就需要使用TreeSet。已知SortedSet提供了集合元素的顺序存

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档