Java程序设计第10章.ppt
《Java程序设计第10章.ppt》由会员分享,可在线阅读,更多相关《Java程序设计第10章.ppt(26页珍藏版)》请在三一办公上搜索。
1、第十章 集合类框架,主要内容,集合类框架的概念集合类接口集合类集合类与集合接口应用,集合类框架的概念,对象通过组合构成更高级别的对象。集合类框架就是用来描述这种组合关系,它由一系列的集合类和接口所组成,主要存放在java.util包中。,集合类就是用来将一组对象组装成一个对象。,A1、A2到An等N个对象,都在集合对象当中有它们的引用,而集合对象又被它的引用cl所引用。,集合类接口,Collection接口类型,子接口有List、Set。List接口规定实现其的集合类元素具有可以控制的顺序,但并没有定义或限制按什么排序;Set 不能包含重复的元素。,Collection是集合类的基本接口,它用
2、来说明作为一个集合类应有的结构特征属性和带有共性的操作方法。,Collection接口中的主要方法见表10.1。,对集合类遍历的接口,Iterator接口,主要接口方法和说明见表10.3。,Enumeration接口,主要接口方法和说明见表10.2。,ListIterator接口。,Map接口类型,Map接口用于将一个键(Key)映射到一个值(Value),且不允许有重复的键。主要接口方法和说明见表10.4。,集合类,集合类及其特性对比,见表10.5。,对象引用的造型。,集合类存放的是对象引用而非对象本身。,常用集合类比较,ArrayList和LinkedList,见表10.7。,Vector
3、和ArrayList,见表10.6。,Hashtable和HashMap,见表10.8。,TreeMap和HashMap,见表10.9。,Collection接口、Map接口及其子接口,接口是Java Collections Framework的三个构成组件之一,它们为创建特定的集合类提供规范。在Java集合架构中,接口位于层次结构的上端。,AbstractSet类和HashSet类,AbstractSet类扩展了AbstractCollection类(它实现了Collection接口中除size和iterator之外的所有方法),并实现了Set,为equals方法和hashCode方法提供了
4、具体实现。size方法和iterator方法并未在AbstractSet类中实现,所以它是一个抽象类。,TreeSet类和Comparator接口,我们已经知道,SortedSet是Set的子接口,它能保证对集内的元素进行排序。而TreeSet是实现SortedSet接口的具体类。排序是建立在比较的基础上的,在Java中,有两种比较对象的方法(其中之一就是使用Comparator接口),本节将介绍它们,并介绍TreeSet类和Comparator接口的用法。,ArrayList类和LinkedList类,ArrayList类和LinkedList类都是List接口的具体实现。这两种类各有优缺点
5、,需要根据所要解决的问题的特点进行选择。ArrayList类实现了具有可变长度的数组,支持随机存取。LinkedList类适用于需要频繁地插入和删除元素的情况。每个ArrayList实例都有一个容量(Capacity),即用于存储元素的数组的大小,这个容量会随着新元素的不断增加而自动增长。LinkedList类以链接列表的方式实现了List接口,它提供了从列表的首尾检索、插入和删除元素的方法,这使得LinkedList可被用作堆栈(stack),队列(queue)或双向队列(deque)。,Vector类和Stack类,Vector类是List接口的一个具体实现,它非常类似于ArrayList
6、,但Vector是同步的。Stack类继承自Vector,实现一个后进先出的堆栈。这两个类在Java集合架构出现之前就得到了Java的支持,在Java集合架构中,这两个类得到了重新设计,但它们用于存储量的原有格式方法都被保留了下来。,HashMap类和TreeMap类,HashMap类和TreeMap类是Map接口的两种具体实现。它们也同样具有各不相同的优缺点,分别适用于不同的情况。使用HashMap类可以很方便地定位映射中的值对象、插入映射和删除映射;而实现SortedMap的TreeMap类可以非常高效地按照排序顺序遍历键。,Collections类和Arrays类,在Java集合架构中,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计 10
链接地址:https://www.31ppt.com/p-5577301.html