8.6 通用集合库

8.6 通用集合库

通过本章的学习,大家已知道标准 Java 库提供了一些特别有用的集合,但距完整意义的集合尚远。除此之外,象排序这样的算法根本没有提供支持。C++出色的一个地方就是它的库,特别是“标准模板库”(STL)提供了一套相当完整的集合,以及许多象排序和检索这样的算法,可以非常方便地对那些集合进行操作。有感这一现状,并以这个模型为基础,ObjectSpace 公司设计了 Java 版本的“通用集合库”(从前叫作“Java 通用库”,即 JGL;但 JGL 这个缩写形式侵犯了 Sun 公司的版权——尽管本书仍然沿用这个简称)。这个库尽可能遵照 STL 的设计(照顾到两种语言间的差异)。JGL 实现了许多功能,可满足对一个集合库的大多数常规需求,它与 C++的模板机制非常相似。JGL 包括相互链接起来的列表、设置、队列、映射、堆栈、序列以及迭代器,它们的功能比 Enumeration(枚举)强多了。同时提供了一套完整的算法,如检索和排序等。在某些方面,ObjectSpace 的设计也显得比 Sun 的库设计方案“智能”一些。举个例子来说,JGL 集合中的方法不会进入 final 状态,所以很容易继承和改写那些方法。

JGL 已包括到一些厂商发行的 Java 套件中,而且 ObjectSpace 公司自己也允许所有用户免费使用 JGL,包括商业性的使用。详细情况和软件下载可访问 http://www.ObjectSpace.com 。与 JGL 配套提供的联机文档做得非常好,可作为自己的一个绝佳起点使用。

上一页
下一页