- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何更好地包装及管理数据
Java语言中的集合
List接口及有序集合
Set接口及无序集合
Map接口及数据字典集合
正确地选用集合对象;1、Java语言中的集合
(1)在Java中为什么要提供对集合的支持
(2)利用集合能够方便地存储和操纵数目不固定的一组数据——有效地管理大量数据
(3)集合是以面向对象的方式对各种“数据结构”进行包装,避免重复地编程实现这些数据结构中的各种实现算法;4、集合类和数组的本质差别
(1)由于数组在应用时要求长度是固定的,并且在创建时必须指明长度,因此在应用时会存在一定的限制。
(2)集合可以理解为“动态可变”的数组。
;6、List接口及对应的有序集合
(1)它是允许一个对象多次出现的有序集合
List 接口继承 Collection接口并允许出现重复的元素和可以有null元素
该接口扩展了Collection接口的通用功能,添加了面向位置的操作方法。;(3)应用示例;7、Set接口及对应的无序集合
(1)Set是一个无序且不允许重复元素存在的集合
Set接口继承Collection接口并与Collection有完全一样的接口,由于对集合中成员的访问和操作是通过集中对象的引用进行的,所以集合中不能有重复对象。
Set接口不保证维护元素的次序。
;(3)应用示例;9、加入Set集合中元素对象必须重写自己的equals()方法以确保对象的唯一性。;11、Map接口的两个主要的实现类HashMap和Hashtable
(1)HashMap和Hashtable的区别
它们都是Map接口的实现类
HashMap是Hashtable的轻量级实现(非线程安全的实现),而Hashtable是线程安全的。
在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。;(3)两者在存储数据时的不同点(也就是对数据的要求)
HashMap允许空(null)键和值(key),而Hashtable不允许
由于非线程安全,效率上可能高于Hashtable。
HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。;(2)基于数组的ArrayList和基于链表的LinkedList的不同用途
Vector和ArrayList一般适合于查询的应用,因为从指定的位置检索一个对象,或在集合的末尾插入、删除一个对象的时间是一样的。
而LinkedList则比较适合添加、删除等方面的操作(在插入、删除集合中任何位置的元素所花费的时间都是一样的)。 。;13、List接口的实现类Vector
(1)主要的特性
它采用类似数组的顺序存储的数据结构
但是具有比数组更强大的功能,因为它是允许不同类型的元素共存的可变长的数组。
(2)为什么要提供Vector
Java中的数组只能保存固定数目的元素,且必须把所有需要的内存单元一次性地申请出来,而不能先创建数组再追加数组元素数量,为了解决这个问题,在Java中引入了向量类Vector。;14、Vector和ArrayList的对比
(1)同步性方面:Vector是线程安全的/ArrayList(包括LinkedList)并不是线程安全的
因为同步的要求会影响执行的效率,所以如果不需要线程安全的环境(单线程访问),可以使用ArrayList,这样可以避免由于同步带来的不必要的性能开销。;15、Stack类
(1)Stack类扩展了Vector类的功能
它可以使用不同于栈的操作,比如insert和remove
元素可以插入到任何位置,并且可从任何位置删元素,而不是仅仅能对栈的顶部的值进行这些操作。;(3)Stack类中的主要方法的定义及功能说明
您可能关注的文档
- 如何保持积极态度[精简版].ppt
- 如何保持积极态度-超越自己.ppt
- 如何保持1个良好的心态.ppt
- 如何做1个合格的管理者代表[上].ppt
- 如何保证及提高给煤机精度.ppt
- 如何做优秀主持人.ppt
- 如何保持良好工作状态.ppt
- 如何做好1名中层.ppt
- 如何做好关键词核心动态控制工作.pptx
- 如何做好毕业设计[论文].ppt
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)