第八章集合类.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:集合层次中的根接口,JDK没有提供这个接口直接的实现类。 Set:不区分元素的顺序,不能包含重复的元素。SortedSet是一个按照升序排列元素的Set。 List:是一个有序的集合,可以包含重复的元素。提供了按索引访问的方式。 Map:包含了key-value对。Map不能包含重复的key。SortedMap是一个按照升序排列key的Map。 迭代器的工作原理 迭代器(Iterator) 提供了一种通用的(向后遍历)方式来访问集合中的元素。 列表迭代器(ListIterator) 说明了一些能向前或向后遍历集合对象的方法。 所谓框架就是一个类库的集合。集合框架就是一个用来表示和操作集合的统一的架构,包含了实现集合的接口与类。 集合框架中的实现类 Collection接口 boolean add(Collection ?o) boolean remove(Object ?o) boolean contains(Object ?o) boolean isEmpty() int size() void clear() Iterator iterator() Map接口 Object put(Object ?key, Object ?value) Object get(Object ?key) int size() boolean isEmpty() boolean containsKey(Object ?key) boolean containsValue(Object ?value) Collection values() Set keySet() Iterator接口与Enumeration接口 Iterator接口 boolean hasNext() Object next() void remove() Enumeration接口 boolean hasMoreElements() Object nextElement() 列表(List) ArrayList 我们可以将其看作是能够自动增长容量的数组。 利用ArrayList的toArray()返回一个数组。 Arrays.asList()返回一个列表(List)。 Exam: ArrayListTest01.java ArrayListTest02.java ArrayListTest03.java LinkedList LinkedList是采用双向循环链表实现的。 利用LinkedList实现栈(stack)、队列(queue)、双向队列(double-ended queue )。 Exam: MyStack.java ArrayList和LinkedList的比较 ArrayList底层采用数组完成,而LinkedList则是以一般的双向链表(double-linked list)完成,其内每个对象除了数据本身外,还有两个 引用,分别指向前一个元素和后一个元素。 如果我们经常在List的开始处增加元素,或者在List中进行插入和删除操作,我们应该使用LinkedList,否则的话,使用ArrayList将更加快速。 Vector Vector 类可以实现可增长的对象数组。 如果我们不能预先确定要保存的对象的数目,或是需要方便获得某个对象的存放位置时,Vector类是一种不错的选择。 Exam: VectorTest.java Vector与ArrayList Vector类的所有方法都是线程同步的,两个线程并发访问Vector对象将是安全的。但如果只有一个线程访问Vector对象时,运行效率要低些。 ArrayList类中的所有方法是非同步的,所以在没有多线程安全问题时,最好用ArrayList,程序效率会高些。在有线程安全问题,且我们的程序又没有自己处理,只能用Vector。 练习 编写Employee.java,描述雇员信息,包括雇员编号、姓名、工资。 编写接口EmployeeVector.java,依次编写实现下列功能的方法: 遍历雇员对象信息。 若要插入的对象不存在,插入该雇员对象。 移除给定雇员对象。 修改指定雇员的工资。 用Vector实现。 3、编写EmployeeTest.java,测试上述类 . 提示:可使用接口模式. * JavaSE程序设计 返回的元素 删除的元素 next() remove() next(

文档评论(0)

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

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

1亿VIP精品文档

相关文档