- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 容器类简介 程序就是算法加数据结构,Java程序中的的数据结构的实现利用到了各种各样的容器类(Java Collection),容器以其操作灵活性、功能强大成为是构建程序数据结构的重要选择。本章就对 Java中的形形色色的容器类进行简介,读者会通过本章对容器类形成初步的认识,将会学习到什么是容器、容器的继承关系、容器的分类、容器的实现、容器的应用。 6.1 容器的简介 容器类(Collection)对于新的开发者是最强大的工具之一,可以大幅提高编程能力。容器是一个将多个元素组合到一个单元的对象,是代表一组对象的对象,容器中的对象成为它的元素。容器适用于处理各种类型的对象的聚集,例如存储、获取、操纵聚合数据,以及聚合数据的通信。所以容器只保存Object型的引用,这是所有类的基类,因此容器可以保存任何类型的对象。 6.1.1 容器框架 要想深入理解“容器”的概念需要我们首先理解“容器”的宏观框架——容器框架。容器框架从宏观角度为我们描述了一个“容器”的世界,告诉我们在Java的容器世界中有哪些 “容器”、它们之间的关系如何、它们是什么样子、它们如何使用。总之,容器框架就是一个用于表示操作集合的统一的体系结构,容器框架包含以下元素: 接口——它们代表容器类型的抽象数据类型。整个Java容器类的基础后来是容器接口(例如Collection,Map等接口),而不是类。使用接口的最大好处在于将容器的实现与容器的接口分开,这就意味着你可以使用相同的方法访问容器而不用关心容器是由什么样的数据结构实现的,即接口允许操作容器和不涉及容器所代表的细节。在面向对象的语言中,这些接口一般组成一个层次结构。 实现—— 它们是容器接口的具体实现。 算法—— 它们是在实现集合接口对象上执行运算的方法,如有哪些信誉好的足球投注网站和排序。这些算法被称为多态的,也就是说,相同的方法可以用于处理某种接口的许多种不同的实现,算法就是可重用的功能。 6.1.2 Java容器框架的优势与劣势 Java容器框架的优势体现在以下几个方面: 1.减少编程工作量 2.提高程序的运行速度和质量 3.允许无关的API之间的互操作 4.减少学时和使用新API的难度 5.减少设计新API的工作量 6.促进软件重用 6.2 容器接口的分类 正如图6.2所示,根据容器所包含的对象的不同可以容器接口可以分为Collection 和Map两大类, 实现Collection接口的容器实现是一个包含孤立元素的对象集合,而实现Map接口的容器实现是一个包含成对元素的对象集合。 6.2.1 Collection接口定义与应用 Collection代表一组对象,这些对象称为它的元素。Collection是容器继承树中的顶层接口,作为接口它定义了15个方法,但没有提供具体实现。Collection接口如下所示: 6.2.2 Map接口定义与应用 Map是一个将键映射到值的对象,映射不能包含重复的键,即每个键最多可以映射到一个值,这种映射类似于数学中的函数。Map接口如下所示: 6.3 集合容器—Set Set是不包含重复元素的Collection,Set模拟数学上集合(set)的概念,具有与Collection完全一样的接口,因此没有任何额外的功能。Set对于包含非重复,且无排序要求的数据结构非常合适。 6.3.1 Set接口定义与应用 Set接口只包含从Collection继承的方法,并添加了禁止重复元素这一限制。Set还在equals和hashcode操作上添加了更强的约束,这允许对Set实例进行有意义的比较——如果两个Set对象包含相同元素,那么它们是相等的。Set接口如下所示: 6.3.2 Set实现 Set实现被分为通用实现和专用实现。通用实现包括HashSet、TreeSet和LinkedSet,这三个实现包含在图6.1中;专用实现包括EnumSet和CopyonWriteArraySet。 1.HashSet 2.TreeSet 3. LinkedHashSet 4.EnumSet 5.CopyOnWriteArraySet 6.4 列表容器—List List是一个有序的Collection接口,它有时被称为序列,次序是List最重要的特点,它确保维护元素特定的顺序。List非常适合实现有顺序要求的数据结构,例如堆栈和队列。 6.4.1 List接口定义与应用 List为Collection添加了许多新方法,使能够向List中间插入与移除元素。一个List可以生成ListIterator,使用它可以从两个方向遍历List,也可以从List中间插入和删除元素。List接口如下所示: 1 public interface ListE extends CollectionE{ 2
文档评论(0)