免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3437 | 回复: 0

面向对象编程:Java collection更有效管理elements——转载 [复制链接]

论坛徽章:
0
发表于 2002-07-13 08:58 |显示全部楼层
面向对象编程:Java collection更有效管理elements

作者: builder.com
Tuesday, April 16 2002 2:10 PM



  
前面的文章中,我们讨论了“转成OOP:Java中抽象数据类型”、抽象数据类型(ADT)如何表示软件结构,以及开发人员可以应用ADT(不需知道具体操作细节)来封装面向对象程序。我们还讨论了Java 2软件开发工具箱中的collection提供的类问题并解释了如何创建更有效的抽象数据类型。本文中,我们将要说说collections中的其他类及其特性并看看它的分类能力。

Sets
在Java Collection结构中,一个set就是众多元素中的一个collection,它确定了含有等同元素的精确的set模型,Set界面拓展了collention界面,意思就是说你可以在set中增加Object、删除object以及重新迭代等等。Set界面增加了两种名称均为排列的方法,而且可以把一个set转换成一列objects。

SortedSets
SortedSets是实现按从小到大顺序排列元素这一迭代过程的set。Set中的元素都按自然顺序或者比较法进行分类。

Comparators
Comparators是定义比较函数或等函数的界面,这样运行它的object结果是实现比较或等价功能,Comparators被传递给分类法来控制众多元素的分类程序。

Maps
与Set不同,Map并不是由Collection生成,相反,它提供了用某些键输入、输出值的界面,与java.util.Hashtable非常类似。

Map是包含一列键/值对的对象,Map不包含复制键,而且每个键也只能有一个值,Map可以实现恢复一套键、一组值以及一系列mapping的功能。

Sorting
对于collection结构有两种基本的分类方式

可以采用Collection类中两种静态法的任意一种运行列表界面来对Object进行分类。一种方法是获得运行比较界面的列表参数,另一种方法就是获得列表参数、比较参数并把采用比较对象的列表元素进行分类。
还可以把比较界面功能加到Collention类中,在类中加入了比较法,得到的结果就是从第一个参数中减去第二个参数,然后把Collection对象传递给运行比较界面的对象。
表A中的例子证明了对MySortedMapComparator对象进行分类的比较界面。

SortedMaps
SortedMaps就是能够提供按从小到大排列元素功能的map,这些元素都按自然顺序或者比较法进行分类。见表B中的例子。

Sorting it all out
Java Collection结构为表示分类集合和未分类集合的核心Java APIs增加了兼容的标准API。因为Collection结构的API都是相互兼容的,因此一旦学会了结构中的一部分,就会理解很多概念。这样就会让你少走很多弯路。下一篇文章中将要开始讨论Java平台的输入/输出系统。


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP