21、集合幻灯片.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二十讲 集 合 目标 集合的概念 Collection接口与Iterator接口 LinkedList的使用 HashMap的使用 Vector的使用 Properties类的使用 Stack的使用 集合概述 集合用于在类中对数据进行组织 集合是一种容器对象,用于按照一定的规则在其中保存一组对象 在J2SE中,引入了集合框架,它由集合库包构成(集合库包位于java.util包中)。该框架定义了许多用于实现集合的接口和抽象类,并且描述了某些机制,比如迭代协议等 集合框架中共定义了9个集合接口: 最基本的接口是Collection 5个接口扩展了Collection接口,它们是:Set, List, SortedSet, Queue, BlockingQueue 其它的3个接口是:Map, SortedMap, ConcurrentMap 。这3个接口不扩展Collection接口 Collection与Iterator接口 3-1 Collection接口有下面两个基本方法: boolean add(Object obj) Iterator iterator() add方法用于将对象添加给集合。如果添加对象后,该集合确实发生了变化,那么该方法返回true;如果该集合没有变化,则返回false。例如,如果你试图将一个对象添加给一个集合,而该集合中已经有该对象了,那么add请求将被拒绝,因为该集合拒绝纳入重复的对象 iterator方法用于返回一个实现了Iterator接口的类的对象。 Iterator类型的对象称为迭代子对象,它专门用于访问集合中的各个元素 Collection与Iterator接口 3-2 Iterator接口共配有下面3个方法: Object next()//返回要访问的下一个对象 boolean hasNext()//如果存在另一个需要访问的元素,则返回true void remove//用于删除上次调用next时返回的对象 通过反复调用next方法,你可以逐个访问集合中的各个元素。但是,如果到达了集合的结尾,next方法便抛出了一个NoSuchElementException异常。因此,你必须在调用next方法之前调用hasNext方法。如果迭代子对象仍然拥有可供访问的元素, hasNext方法返回true 想要查看集合中的所有元素,可使用如下方法: Iterator iter=c. iterator() while(iter. hasNext()){ Object obj=iter. netx(); …… } Collection与Iterator接口 3-3 使用remove方法时必须小心: 如何删除某个集合中的第一个元素: Iterator iter=c. iterator(); it. next();//没有这一行将会抛出异常 it. remove(); 如何删除两个相邻的元素: it. remove(); it. next();//没有这一行将会出错 it. remove(); 具体的集合 Java库提供了下面10个具体的集合类: LinkedList ArrayList HashSet TreeSet HashMap TreeMap Vector Stack HashTable Properties LinkedList 2-1 链接列表LinkedList实现了List接口 链接列表是一个有序集合,将每个对象存放在独立的链接中,每个链接中还存放着序列中下一个链接的索引。在java中,所有的链接列表实际上是双重链接的,即每个链接中还存放着对它的前面的链接的索引 链接列表适合于处理数据序列中数据数目不定,且频繁进行插入和删除操作的问题--插入或删除一个元素时,只需要更新其它元素的索引即可,不必移动元素的位置,效率很高 LinkedList 2-2 ListIterator(列表迭代子)接口中定义了许多方法用于访问链接列表LinkedList,LinkedList 类中有一个listIterator方法,可以返回一个ListIterator对象: ListIterator iter=list. listIterator(); Object oldValue=iter. next(); Iter. set(newValue); 链接列表不支持快速随机访问。如果你想查看列表中的第n个元素,你必须从头开始查看,然后跳过前面的n-1个元素 如果你需要随机访问某个集合的话,请使用数组或者ArrayList,而不要使用LinkedList LinkedList使用示例 程序代码详见LinkedListTest.java,程序输出结果如下: ArrayList 数组

文档评论(0)

mwk365 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档