收藏 分享(赏)

JAVA开发 葵花宝典 18.ppt

上传人:fmgc7290 文档编号:8629798 上传时间:2019-07-06 格式:PPT 页数:16 大小:283KB
下载 相关 举报
JAVA开发 葵花宝典 18.ppt_第1页
第1页 / 共16页
JAVA开发 葵花宝典 18.ppt_第2页
第2页 / 共16页
JAVA开发 葵花宝典 18.ppt_第3页
第3页 / 共16页
JAVA开发 葵花宝典 18.ppt_第4页
第4页 / 共16页
JAVA开发 葵花宝典 18.ppt_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、第18章 数据结构的接口,本章将重点讲述数据结构中的一些基本概念,同时还讲述什么是Collection接口,什么又是Iterator接口,使用什么类来实现这些接口。本章得目的主要是对数据结构的接口做一个初步的、概念性的介绍,让读者能够清楚这些接口的用处,以便在实际开发中灵活运用。,18.1 数据结构接口及实现,本节讲述数据结构的优点,数据结构其实就是规定数据是以何种形式存储,例如以队列的形式、以散列表的形式、还是以树的形式或者以映像的形式存储。 每一种存储方式都有不同的优势,因为每一种结构对应着存储不同种类的数据,只要使用了好的数据结构,那么读取或搜索数据将会更快、更准确。数据按一定的方式组织

2、起来就是数据结构,他体现了数据与数据之间的关系,可以从两个角度来分类:一个是存储结构,另一个是逻辑结构。,18.1.1 数据结构接口的实质,为了能够说明数据结构的含义,先解释下面的一些基本概念。 数据是对客观事物的符号的表示,是所有能输入到计算机中,并被计算机程序处理的符号的总称。 数据元素是数据的基本单位,在计算机程序中通常作为一个整体来处理。一个数据元素由多个数据项组成,数据项是数据不可分割的最小单位。 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。数据结构是一个二元组,记为: data_structure=(D,S)。 其中D为数据元素的集合,S是D上关系的集合。 (具体内容

3、请参照本书),18.1.2 用实例来熟悉数据结构接口的实现,下面举一个有关数据结构的接口的实例,通过这个实例,观察Java如何使用数据结构的接口来实现对数据的存储。这个实例会引用到一个数据结构:ArrayList结构,目前还没有讲到这个结构。其实,本例的用意是让读者了解通过数据结构的接口,如何实现数据存储,并加深对数据接口这个概念的理解。(具体内容请参照本书),18.2 Collection集合接口与Iterator迭代器接口,什么是Collection接口?什么是Iteraltor接口?它们有什么用处?使用频率高吗?带着这些疑问阅读本节,对数据结构将有更深的了解。,18.2.1 熟悉Coll

4、ection集合接口,Collection接口是数据集合接口,它位于数据结构API的最上部。构成Collection的单位,被称之为元素。接口提供了添加、删除元素等管理数据的功能。根据数据管理的方法不同,可将Collection接口分成为三个部分,分别是:map接口、set接口、list接口,如图18.1所示。(具体内容请参照本书),18.2.2 List链表接口和Set接口,List接口和Set接口是两个非常有用的集合接口,日常开发中用到的数组和列表等,基本上都从这两个接口实现而来。本节通过对它们的比较,详细了解这种集合接口。 1List接口 2Set接口,18.2.3 Map映射接口,Ma

5、p没有继承Collection接口,其提供key到value的映射。Map中不能包含相同的key,每个key只能映射一个value。Map接口提供3种集合的视图,Map的内容可以被当作一组key集合、一组value集合或一组key-value映射。 1Hashtable哈希表类 2HashMap哈希映射类 3WeakHashMap弱哈希映射类,18.2.4 Iterator迭代器接口,Iterator是一个集合的迭代器,通过Iterator访问接口而不用关心集合的实现。Iterator接口中定义了三个方法: hasNext() 是否还有下一个元素. next() 返回下一个元素. remove

6、() 删除当前元素. 那什么是迭代器呢?迭代器指向两个元素中间的位置,当调用hasnext()方法时,如果返回true,此时调用next()方法返回下一元素。迭代器指向下两个元素之间的位置,如果要删除下一个元素,必须先next(),再remove()。(具体内容请参照本书),18.2.5 通过实例来认识迭代器的实现,下面通过一个实例,演示如何实现Java Collection中的迭代器。 1迭代器的代码实现 2迭代器的适用情况,18.3 常见疑难解答,(具体内容请参照本书),18.3.1 Collection集合接口和Collections集合类的区别,答:Collection和Collect

7、ions的区别有以下几点:Collections是java.util下的类,它包含各种有关集合操作的静态方法。Collection是java.util下的接口,它是各种集合结构的父接口。List、Set、Map是否继承自Collection接口List,Set是继承自Collection接口,Map不是继承自Collection接口。,18.3.2 ArrayList数组列表类和Vector存储类的区别,答:ArrayList和Vector的区别有两点:同步性:Vector是线程安全的,是同步的。而ArrayList是线程不安全的,不是同步的。数据增长:当需要增长时,Vector默认增长为原来

8、一倍,而ArrayList却是原来的一半。,18.3.3 HashMap哈希映射和Hashtable哈希表的区别,答:HashMap和Hashtable的区别有3点:都属于Map接口的类,作用都是将惟一键映射到特定的值上。HashMap类没有分类或排序,它允许一个null键和多个null值。Hashtable类似于HashMap,但是不允许null键和null值,它也比HashMap慢,因为它是同步的。,18.3.4 数据结构的种类有哪些,答:数据结构一般分为两大类:线性数据结构和非线性数据结构。线性数据结构包括线性表、栈、队列、串、数组和文件。而非线性数据结构包括有树、图等等。下面可通过图18.2来展示它们的结构。,18.3.5 List链表接口和Set接口的区别,答:List和Set的区别如下:Set:从collection接口继承而来,但没有提供新的抽象的实现方法,Set不能包含重复元素,其中sortedset是按照升序的排列方式排列元素的set。List:是一个有序的集合,可以包含重复的元素,提供了按索引访问的方式。这里的有序就是指有顺序的排放,并不是排序。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报