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

    Java程序设计第10章.ppt

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

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

    Java程序设计第10章.ppt

    第十章 集合类框架,主要内容,集合类框架的概念集合类接口集合类集合类与集合接口应用,集合类框架的概念,对象通过组合构成更高级别的对象。集合类框架就是用来描述这种组合关系,它由一系列的集合类和接口所组成,主要存放在java.util包中。,集合类就是用来将一组对象组装成一个对象。,A1、A2到An等N个对象,都在集合对象当中有它们的引用,而集合对象又被它的引用cl所引用。,集合类接口,Collection接口类型,子接口有List、Set。List接口规定实现其的集合类元素具有可以控制的顺序,但并没有定义或限制按什么排序;Set 不能包含重复的元素。,Collection是集合类的基本接口,它用来说明作为一个集合类应有的结构特征属性和带有共性的操作方法。,Collection接口中的主要方法见表10.1。,对集合类遍历的接口,Iterator接口,主要接口方法和说明见表10.3。,Enumeration接口,主要接口方法和说明见表10.2。,ListIterator接口。,Map接口类型,Map接口用于将一个键(Key)映射到一个值(Value),且不允许有重复的键。主要接口方法和说明见表10.4。,集合类,集合类及其特性对比,见表10.5。,对象引用的造型。,集合类存放的是对象引用而非对象本身。,常用集合类比较,ArrayList和LinkedList,见表10.7。,Vector和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方法提供了具体实现。size方法和iterator方法并未在AbstractSet类中实现,所以它是一个抽象类。,TreeSet类和Comparator接口,我们已经知道,SortedSet是Set的子接口,它能保证对集内的元素进行排序。而TreeSet是实现SortedSet接口的具体类。排序是建立在比较的基础上的,在Java中,有两种比较对象的方法(其中之一就是使用Comparator接口),本节将介绍它们,并介绍TreeSet类和Comparator接口的用法。,ArrayList类和LinkedList类,ArrayList类和LinkedList类都是List接口的具体实现。这两种类各有优缺点,需要根据所要解决的问题的特点进行选择。ArrayList类实现了具有可变长度的数组,支持随机存取。LinkedList类适用于需要频繁地插入和删除元素的情况。每个ArrayList实例都有一个容量(Capacity),即用于存储元素的数组的大小,这个容量会随着新元素的不断增加而自动增长。LinkedList类以链接列表的方式实现了List接口,它提供了从列表的首尾检索、插入和删除元素的方法,这使得LinkedList可被用作堆栈(stack),队列(queue)或双向队列(deque)。,Vector类和Stack类,Vector类是List接口的一个具体实现,它非常类似于ArrayList,但Vector是同步的。Stack类继承自Vector,实现一个后进先出的堆栈。这两个类在Java集合架构出现之前就得到了Java的支持,在Java集合架构中,这两个类得到了重新设计,但它们用于存储量的原有格式方法都被保留了下来。,HashMap类和TreeMap类,HashMap类和TreeMap类是Map接口的两种具体实现。它们也同样具有各不相同的优缺点,分别适用于不同的情况。使用HashMap类可以很方便地定位映射中的值对象、插入映射和删除映射;而实现SortedMap的TreeMap类可以非常高效地按照排序顺序遍历键。,Collections类和Arrays类,在Java集合架构中,有两个提供很多静态方法的类:Collections类和Arrays类。Collection类中包含一些操作集合的静态方法以及创建同步集合类和只读集合类的映射,Arrays类中包含很多操作标准Java数组的静态方法。本节将介绍如何使用这些静态方法。,哈希表类的构造方法、属性变量和成员方法,1构造方法哈希表类(Hashtable)共有三种形式的构造方法:(1)public Hashtable(int initialCapacity,float loadFactor);参数initialCapacity给定哈希表创建初始可容纳的元素数,loadFactor为装载因子,取值0.0到1.0之间。(2)public Hashtable(int initialCapacity);参数initialCapacity给定哈希表创建时可容纳的元素数,loadFactor为缺省值。(3)public Hashtable();参数initialCapacity和loadFactor均为缺省值。2、哈希表类没有定义属性变量,成员方法哈希表类定义的主要方法如下:public int size();返回哈希表大小(即表中元素个数)。public boolean isEmpty();确认哈希表是否为空。public synchronized Enumeration keys();返回哈希表内关键字枚举值。public synchronized Enumeration elememnts();返回有关内元素的一个枚举值对象,随后Emumeration类方法顺序获取对象。public synchronized boolean contains(Object value);确认哈希表内是否包括了给定的对象,与containKey()类似。public synchronized boolean contains(Object key);确认哈希表内是否包括了给定的关键字。,public synchronized Object get(Object key);获取对应关键字的对象,如不存在返回null。protected void rehash();再哈希,扩充哈希表使之可以保存更多的元素。当哈希表达到饱和时,系统将自动调用此方法。public synchronized Object put(Object key,Object value);用给定的关键字把对象保存到哈希表中。随后该对象即可通过同样的关键字由get方法获取。这里的关键字和元素均不可为空。public synchronized Object remove(Object key);从哈希表中删除与给定关键字相对应的对象,如该对象不存在则返回null。public synchronized void clear();从哈希表中删除所有对象,使其为空。public synchronized String toString();把哈希表内容转换为一字符串,此方法覆盖了Object类的toString()方法。,哈希表的使用,哈希表的创建与Java中其它对象一样需使用new操作,如下例所示:HashTable hash_1=new HashTable();为了把对象保存到哈希表,必须为每一个对象分配一关键字。关键字可以为任意对象,但必须实现了hashCode()和equals()方法。Java提供的类几乎都提供了这两个方法。建好哈希表后,现在利用上述put方法把数据存放到哈希表中去。hash_1.put(“one”,new Integer(1);hash_1.put(“two”,new Integer(2);hash_1.put(“three”,new Integer(3);,为了把对象从哈希表中删除,须使用remove()方法。例如:hash_1.remove(“two”);这时对象Integer(2)将从哈希表删除,同时返回这个被删除的对象。如指定的关键字不存在,remove()返回null。使用哈希表类的get()和containKey()访问方法可以查找关键字。例如:Integer n=(Integer)hash_1.get(“three”);if(n!=null System.out.println(three=”+n);如果查找的关键字不存在,get返回null。,集合类与集合接口应用,LinkedList对象应用【例10.2】。,Vector类与Enumeration和Iterator接口应用【例10.1】。,Stack类应用【例10.3】。,List接口和其实现类应用List接口和其实现类应用【例10.4】。,Map接口及其实现类应用【例10.5】。,HashMap应用【例10.6】。,TreeMap应用【例10.7】。,

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开