欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    java核心课件2第3章.ppt

    • 资源ID:5577250       资源大小:172.51KB        全文页数:23页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java核心课件2第3章.ppt

    第3章 集合框架,熟悉java2之前的容器类的继承关系,熟练使用其中的类和接口;熟悉java集合框架,熟练使用其中的相关类和接口;熟练使用集合类的泛型用法。,我们在解决问题时,通常需要选择一种数据结构;本章主要讲述Java技术是如何帮助你建立进行重大编程时所需要的传统数据结构;这就是“集合框架”,一个集合就是一组对象的容器。,3.1 java2之前的容器类,左图中两条线分别表示两种不同的数据结构:第1条线:Vector代表线性结构,特点是元素有序存储,支持下标访问,元素在容器中可重复出现;第2条线:Dictionary代表映射结构,存储的是“健/值对”,特点是无序存储,不支持下标访问,通过健快速映射到值,其中健是唯一的,值可以不唯一,且所有键值不能为null。,3.1.1 长度和容量的概念,容量:能够存储元素个数的能力,通常会自动增加;长度:实际存储的元素个数;,3.1.1 Enumeration接口,Enumertation接口提供了一种抽象机制,用于访问任意一个容器中的各个元素;目前这个接口已经基本被Iterator接口替代了。,3.2 集合框架概述,从图中可以看出,整个集合框架是建立在两个接口之上,它们是Collection和Map,一共包含四种类型的集合,它们是List、Queue、Set、Map;List代表线性结构,特点是元素有序存储,支持下标访问,元素在容器中可重复出现;Queue代表队列结构,特点是先进先出,不支持下标访问;Set代表集合结构,特点是无序存储,不支持下标访问,元素在集合中是唯一的;Map代表映射结构,特点是,通过键/值对存储。,3.3 集合框架的迭代器,Java每个Collection集合都提供了iterator()方法来返回一个迭代器;通过反复调用next方法,可以逐个访问集合中的各个元素;如果到了集合尾部,next方法将抛出一个NoSuchElementException异常;由上图可以看出:应该将java迭代器看成是位于各个元素之间的,当调用next方法时,迭代器便越过下一个元素,并返回它刚刚越过的那个元素的引用;当迭代器刚创建时,它位于第一个元素之前,并不指向任何一个元素。,3.3.1 Iterator接口,3.3.2 ListIterator 接口,它是Iterator接口的子接口;除了继承了其父接口的正向遍历方法next外,还提供了反向遍历方法previous;因此它是一个双向迭代器;还提供了add方法添加元素。,List a=new LinkedList();a.add(Amy);a.add(Carl);a.add(Erica);Iterator aIter=a.iterator();ListIterator aLIter=a.listIterator();,3.4 Collection接口,Collection接口是集合框架的基础;声明了多数集合类都有的核心方法;因此应当熟悉这些方法;见书或api文档。,3.5 List结构,线性表结构;重载了父接口的add等方法,增加了set、get等方法,以支持下标访问;List中的元素可以重复出现。,3.5.3 Vector类,Vector又称“向量”,实现了一个动态数组的功能。它的特点是:底层以数组实现,支持下标运算,下标从0开始;容易维护元素的顺序,是按添加的顺序进行维护的;所有方法都是同步的,是线程安全的;通常扩展容量的方式是倍增的;与数组的区别:它的容量可变,数组的容量是定的。,3.5.4 Stack类,Stack类是实现了标准的后进先出的栈,是Vector的子类;Vector可用的方法,Stack都可用,但实际应用中尽量不使用继承的方法;下标从1开始,栈顶下标为1,栈底下标为size;push是压栈,pop是出栈。,入栈操作,出栈操作,ArrayList类,其特点是:底层是以数组实现的,所以它适合反复遍历,不适合作频繁的元素插入和删除操作;可以动态的增减大小,当长度超过时,集合自动增加原来容量的50%,删除对象时,集合自动变小;不是同步的。,3.5.8 LinkedList类,与ArrayList不同的是:LinkedList是链表结构;因此它的删除、插入方便;底层是双向链表实现的,适合频繁的插入和删除;在JDK5.0中,其实现了Queue接口。,3.6 比较器,3.6.1 Comparable接口Comparable接口强行对实现它的每个类的对象进行整体排序;此排序被称为该类的自然排序,其方法被称为它的自然比较方法;实现此接口的对象列表可以通过Arrays.sort,collections.sort等方法进行自动排序,是它们的默认比较器;其方法:public int compareTo(T o);,3.6.2 Comparator接口此接口的方法强行对某些对象collection进行整体排序;可以将Comparator作为参数传递给sort方法,从而允许在排序顺序上实现精确控制;还可以使用Comparator来控制TreeSet等数据结构的顺序;其方法:public int compare(T o1,To 2);,3.7 Queue结构,3.7.1 Queue接口,如下图所示,队列通常以先进先出(FIFO)的方式排列各个元素,不过优先级队列例外;优先级队列根据提供的比较器或元素的自然顺序对元素进行排序;无论使用哪种排序方式,队列的头都是调用remove和poll方法所移除的元素;FIFO队列中,所有新元素都插入队尾。,3.8 Set结构,Set结构的特点:元素在集合中无序存储;集合中不允许存在相同的元素。,3.8.4 EnumSet类,EnumSet是与枚举类型一起使用的专用Set实现;由iterator方法返回的迭代器按枚举声明常量的顺序遍历这些元素;可以防止枚举中出现重复值。,3.8.5 HashSet类,HashSet创建一个使用哈希表存储的集合;HashSet的特点:它是一种把查找时间看得很重要的Set;集合中元素是无序存放的;所有的值必须覆盖hashCode和equals方法关于hashCode和equals方法:系统在判断是否加入相同对象时,会调用对象的hashCode和equals方法来判断;在Object类中它们返回的或比较的都是对象的内存地址,不能反映它们是否是相同对象,因此都必须覆盖;好的hashCode方法所产生的值应该均匀分布。,TreeSet类,实现SortedSet接口,可以实现对集合自动排序,必须满足以下两点中的其一:1、创建集合时不指定比较器时,集合中的对象必须实现Comparable接口,按其指定的方式排序;2、创建集合时指定比较器Comparator,则按指定的比较器的方式排序;注意匿名内部类的使用。,3.9 Map结构,3.9.1 Map,Map(映射)是一种把键对象和值对象进行映射的集合,它的每一个元素都包含一对键对象和值对象;向Map集合中加入元素时,必须提供一对键对象和值对象,从Map集合中检索元素时,只要给出键对象,就会返回对应的值对象;Map.Entry接口是Map的内部接口,它封装了一个key/value,也就是说一个Map.Entry对象就是一个键/值对;在Hashtable中实际上也存在Map.Entry,只不过在Java2之前拿不到它的引用。,3.9.2 实现Map接口的常用类,HashMap是一个基于哈希实现的映射表;TreeMap排序映射表;Properties属性表,不是泛型类:由于文件中的键、值都是String类型,因此用setProperties()和getProperties()方法设置和获取键/值对;,

    注意事项

    本文(java核心课件2第3章.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开