书签 分享 收藏 举报 版权申诉 / 14
上传文档赚钱

类型Java高级程序设计实战教程第二章-Java集合框架.pptx

  • 上传人(卖家):三亚风情
  • 文档编号:3372434
  • 上传时间:2022-08-24
  • 格式:PPTX
  • 页数:14
  • 大小:310KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Java高级程序设计实战教程第二章-Java集合框架.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Java 高级 程序设计 实战 教程 第二 集合 框架
    资源描述:

    1、JavaJava高级程序设计高级程序设计第第2 2章章 JavaJava集合框架集合框架2.1 应用场景2.6 课后小结2.2 相关知识 2.7 课后习题2.3 实施过程2.8 上机实训2.4 拓展知识2.5 拓展训练2.1 应用场景在Java编程时,常常需要集中存放多个数据。当然我们可以使用数组来保存多个对象。但数组长度不可变化;而且数组无法保存具有映射关系的数据。为了保存数量不确定的数据,以及保存具有映射关系的数据(也被称为关联数组),就要使用Java提供的集合类。JDK提供了大量优秀的集合实现供开发者使用,合格的程序员必须要能够通过功能场景和性能需求选用最合适的集合,这就要求开发者必须熟

    2、悉Java的常用集合框架类。2.2 相关知识2.2.1 集合框架2.2.2 Java集合框架2.3.3 Java集合框架的使用2.2.1 集合框架在现实生活中,集合被理解为:很多事物凑在一起;在。数学中,的集合:为具有共同属性的事物的总体。通常情况下,我们把具有相同性质的一类东西,汇聚成一个整体,就可以称为集合。通常集合有两种表示法,一种是列举法,比如集合A=1,2,3,4,另一种是性质描述法,比如集合B=X|0X100且X属于整数。集合论的奠基人康托尔在创建集合理论给出了许多公理和性质,这都成为后来集合在其他领域应用的基础。2.2.2 Java集合框架在Java语言中,Java语言的设计者对

    3、常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类)。所有抽象出来的数据结构和操作(算法)统称为Java集合框架(JavaCollectionFramework),。如图2-1所示。2.2.3 Java集合框架的使用Java程序员在具体应用时,不必考虑数据结构和算法的实现细节,只需要用这些类创建出来一些对象,然后直接应用就可以了,这样就大大提高了编程效率。2.3 实施过程2.3.1 List的使用2.3.2 Set的使用2.3.3 Map的使用2.3.1 LIST的使用1.List接口List继承自Collection接口。List是一种有序集合,List中的元素可以根据索引(顺

    4、序号:元素在集合中处于的位置信息)进行取得/删除/插入操作。跟Set集合不同的是,List允许有重复元素。对于满足e1.equals(e2)条件的e1与e2对象元素,可以同时存在于List集合中。2.List实现类List接口的实现类主要有ArrayList,LinkedList,Vector,Stack等。2.3.2 SET的使用1.Set接口Set 是继承于Collection的接口。java中的set接口有如下的特点:不允许出现重复元素;集合中的元素位置无顺序;有且只有一个值为null的元素。2.Set接口的实现类实现了Set接口的主要有HashSet、TreeSet、LinkedHas

    5、hSet。HashSet依赖于HashMap,它实际上是通过HashMap实现的。HashSet中的元素是无序的。TreeSet依赖于TreeMap,它实际上是通过TreeMap实现的。TreeSet中的元素是有序的。2.3.3 MAP的使用1.Map接口Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value;。Map中的键值对以Entry类型的对象实例形式存在;。键建(key值)不可重复,value值可以重复,一个value值可以和很多key值形成对应关系,每个键最多只能映射到一个值。Map支持泛型,形式如:Map。Map中使用

    6、put(K key,V value)方法添加。2.已知实现类在java.util包中接口 Map 存储键值对,作为一个元组存入。元组以键作为标记,键相同时,值覆盖。类型参数:K-此映射所维护的键的类型;V-映射值的类型;其已知实现类:为HashMap、TreeMap。2.4 拓展知识1.Vector前面我们已经提到,Java设计者们在对之前的容器类进行重新设计时保留了一些数据结构,其中就有Vector。用法上,Vector与ArrayList基本一致,不同之处在于Vector使用了关键字synchronized,将访问和修改向量的方法都变成同步的了,所以对于不需要同步的应用程序来说,类Arra

    7、yList比类Vector更高效。2.StackStack,栈类,是Java2之前引入的,继承自类Vector。3.HashTableHashTable和前面介绍的HashMap很类似,它也是一个散列表,存储的内容是键值对映射,不同之处在于,HashTable是继承自Dictionary的,HashTable中的函数都是同步的,这意味着它也是线程安全的,另外,HashTable中key和value都不可以为null。上面的三个集合类都是在Java2之前推出的容器类,可以看到,尽管在使用中效率比较低,但是它们都是线程安全的。下面介绍两个特殊的集合类。4.ConcurrentHashMapConc

    8、urrent,并发,从名字就可以看出来ConcurrentHashMap是HashMap的线程安全版。同HashMap相比,ConcurrentHashMap不仅保证了访问的线程安全性,而且在效率上与HashTable相比,也有较大的提高。关于ConcurrentHashMap的设计,我将会在下一篇关于并发编程的博客中介绍,敬请关注。5.CopyOnWriteArrayListCopyOnWriteArrayList,是一个线程安全的List接口的实现,它使用了ReentrantLock锁来保证在并发情况下提供高性能的并发读取。2.5 拓展训练任务要求:实现省市两级联动。任务需求:构建信息录入

    9、界面,完成人员基本信息的录入工作。其中籍贯中涉及的“省、市/县”能实现联动,即:选择“省”时,“市”会根据选择的“省”做相应的变换。任务设计:省市/县的信息存放在CityMap类中,InputFrame类为界面类,TestInputFrame为测试类。其类图如图2-5-1所示。2.6 课后小结到这里,对于Java集合框架的总结就结束了,还有很多集合类没有在这里提到,更多的还是需要大家自己去查去用。通过阅读源码,查阅资料,收获很大。Java集合框架主要包括Collection和Map两种类型。其中Collection又有3种子类型,分别是List、Set、Queue。Map中存储的主要是键值对映

    10、射。规则集Set中存储的是不重复的元素,线性表中存储可以包括重复的元素,Queue队列描述的是先进先出的数据结构,可以用LinkedList来实现队列。效率上,规则集比线性表更高效。ArrayList主要是用数组来存储元素,LinkedList主要是用链表来存储元素,HashMap的底层实现主要是借助数组+链表+红黑树来实现。Vector、HashTable等集合类效率比较低但都是线程安全的。包java.util.concurrent下包含了大量线程安全的集合类,效率上有较大提升。2.7 课后习题三、简答题1.Java集合框架是什么?说出一些集合框架的优点?2.Java集合框架的基础接口有哪些?3.Iterator是什么?3.遍历一个List有哪些不同的方式?4.如何决定选用HashMap还是TreeMap?5.ArrayList和LinkedList有何区别?6.ArrayList和Vector有何异同点?

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Java高级程序设计实战教程第二章-Java集合框架.pptx
    链接地址:https://www.163wenku.com/p-3372434.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库