java教程第14章

java教程第14章

ID:43326845

大小:424.00 KB

页数:20页

时间:2019-10-08

java教程第14章_第1页
java教程第14章_第2页
java教程第14章_第3页
java教程第14章_第4页
java教程第14章_第5页
资源描述:

《java教程第14章》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第14章集合框架熟悉java2之前的容器类的继承关系,熟练使用其中的类和接口熟悉java集合框架,熟练使用其中的相关类和接口熟练使用集合类的泛型用法我们在解决问题时,通常需要选择一种数据结构本章主要讲述Java技术是如何帮助你建立进行重大编程时所需要的传统数据结构这就是“集合框架”,一个集合就是一组对象的容器14.1java2之前的容器类左图中两条线分别表示两种不同的数据结构:第1条线:Vector代表线性表结构,特点是元素有序存储,支持下标访问,元素在容器中可重复出现;第2条线:Dictionary代表映射结构,存储的是“健/值对”,特点是无序存储,不支持下标访问,通过健快

2、速映射到值,其中健是唯一的,值可以不唯一,且所有键值不能为null。VectorStackDictionaryHashtableProperties14.1.1长度和容量的概念容量:存储空间的大小,StringBuffer.capacity();长度:实际存储的大小,StringBuffer.length();14.1.2Enumeration接口Enumertation接口提供了一种抽象机制,用于访问任意一个容器中的各个元素;目前这个接口已经基本被Iterator接口替代了。14.2集合框架概述从图中可以看出,整个集合框架是建立在两个接口之上,它们是Collectio

3、n和Map,一共包含四种类型的集合,它们是List、Queue、Set、Map;List代表线性表,特点是元素有序存储,支持下标访问,元素在容器中可重复出现;Queue代表队列结构,特点是先进先出,不支持下标访问;Set代表集合结构,特点是无序存储,不支持下标访问,元素在集合中是唯一的;Map代表映射结构,特点是,允许存储null键和null值。IterableCollectionQueueListSetMapIteratorListIterator14.3集合框架的迭代器Java每个集合都提供了iterator()方法来返

4、回一个迭代器;通过反复调用next方法,可以逐个访问集合中的各个元素;如果到了集合尾部,next方法将抛出一个NoSuchElementException异常;由上图可以看出:应该将java迭代器看成是位于各个元素之间的,当调用next方法时,迭代器便越过下一个元素,并返回它刚刚越过的那个元素的引用;当迭代器刚创建时,它位于第一个元素之前,并不指向任何一个元素。14.3.1Iterator接口返回元素迭代器14.3.2ListIterator接口它是Iterator接口的子接口;除了继承了其父接口的正向遍历方法next外,还提供了反向遍历方法previous;因此

5、它是一个双向迭代器;还提供了add方法添加元素。Lista=newLinkedList();a.add("Amy");a.add("Carl");a.add("Erica");IteratoraIter=a.iterator();ListIteratoraLIter=a.listIterator();14.4Collection接口Collection接口是集合框架的基础;声明了多数集合类都有的核心方法;因此应当熟悉这些方法;见书或api文档。14.5List结构线性表结构;重载了父接口的add等方法,增加

6、了set、get等方法,以支持下标访问;List中的元素可以重复出现。ListListIteratorQueueAbstractListAbstractSequentialListCopyOnWriteArrayListArrayListVectorStackLinkedList14.5.1Vector类Vector又称“向量”,实现了一个动态数组的功能。它的特点是:底层以数组实现,支持下标运算,下标从0开始;容易维护元素的顺序,是按添加的顺序进行维护的;所有方法都是同步的,是线程安全的;通常扩展容量的方式是倍

7、增的;与数组的区别:它的容量可变,数组的容量是定的。14.5.2Stack类Stack类是实现了标准的后进先出的栈,是Vector的子类;Vector可用的方法,Stack都可用,但实际应用中尽量不使用继承的方法;下标从1开始,栈顶下标为1,栈底下标为size;push是压栈,pop是出栈。栈栈顶栈栈顶数据栈栈顶栈栈顶数据入栈操作出栈操作14.5.3ArrayList类其特点是:底层是以数组实现的,所以它适合反复遍历,不适合作频繁的元素插入和删除操作;可以动态的增减大小,数组列表以开始的长度

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。