java的通用集合库

通过本章的学习,大家已知道标准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配套提供的联机文档做得非常好,可作为自己的一个绝佳起点使用。

时间: 2024-10-20 22:14:08

java的通用集合库的相关文章

[Java] 利用Axis库调用C#的Web Service

[Java] 利用Axis库调用C#的Web Service 编写者 日期 关键词 郑昀@ultrapower 2005-8-2 Java Web Service Axis C#   概述 试图从Java调用C#编写的Web Service,借用了王咏刚的wsCaller源代码中DynamicInvoker类. 开始不清楚DynamicInvoker类的portName的含义,望文生义,以为是8080之类的端口号,实际上是下面wsdl中的wsdl:port 节点的"name"属性值&q

[Java] 利用xpdf库获取pdf文件的指定范围文本内容

[Java] 利用xpdf库获取pdf文件的指定范围文本内容 编写者 日期 关键词 郑昀@ultrapower 2005-8-2 Java PDF xpdf   概述 读取PDF文件的某一部分文本内容,可以使用开源项目xpdf. 从Java中调用xpdf,我们参照了<Java抽取Word,PDF的四种武器>文章最后提到的办法. 总而言之,调用xpdf十分简单,下面讲一下xpdf的配置问题. 系统基础环境要求 下面是对运行xpdf软件服务的计算机的要求: l         您可以从以下位置下载

Web---JSTL(Java标准标签库)-Core核心标签库、I18N国际化、函数库

前面为JSTL中的常用EL函数,后面的为具体演示实例! JSTL简介: JSTL(Java Standard Tag Library) –Java标准标签库. SUN公司制定的一套标准标签库的规范. JSTL标签库,是由一些Java类组成的. JSTL组成: JSTL –Core 核心标签库. 重点 JSTL – I18N - 国际化标签库.Internationalization- I18N JSTL – SQL – 数据库操作标签(有悖于MVC设计模式),现在都不用这个. JSTL - Fu

Google Maps API新增Java和Python库

摘要: Google今天在其官方博客宣布,在原有JavaScript库的基础为Google Mpas API新增了Java和Python库,此后开发者集成Google的地图服务到自己的app中将会更加简单. 新的Jave和Python Google Maps库支持的 Google今天在其官方博客宣布,在原有JavaScript库的基础为Google Mpas API新增了Java和Python库,此后开发者集成Google的地图服务到自己的app中将会更加简单. 新的Jave和Python Go

各种 Java 的序列化库的性能比较测试结果

本次测试专注于 cyclefree 数据结构的编码和解码.一些序列化程序支持循环检测/对象共享,一些序列化程序两种模型都支持,一些序列化程序包括了元数据,一些则没有,有的是跨平台的,有的只支持特定语言,有些是基于文本,有些是二进制.(请查阅 ToolBehavior) 其他测试数据会产生不同的结果.不过,这些结果给出了评估这些库的原材料. java version "1.7.0_51" Java SE Runtime Environment (build 1.7.0_51-b13) J

举例讲解Java的Jackson库中ObjectMapper类的使用_java

ObjectMapper类是Jackson库的主要类.它提供一些功能将转换成Java对象匹配JSON结构,反之亦然.它使用JsonParser和JsonGenerator的实例实现JSON实际的读/写. 类声明以下是org.codehaus.jackson.map.ObjectMapper类的声明: public class ObjectMapper extends ObjectCodec implements Versioned 嵌套类 S.N. 类 & 描述 1 static class O

Java的Jackson库的使用及其树模型的入门学习教程_java

Jackson第一个程序在进入学习jackson库的细节之前,让我们来看看应用程序操作功能.在这个例子中,我们创建一个Student类.将创建一个JSON字符串学生的详细信息,并将其反序列化到学生的对象,然后将其序列化到JSON字符串. 创建一个名为JacksonTester在Java类文件 C:\>Jackson_WORKSPACE. 文件: JacksonTester.java import java.io.IOException; import org.codehaus.jackson.J

浅析Java验证码生成库JCaptcha_java

JCaptcha是非常强大的,不光是可以生成图片式的验证码,还可以生成声音式的(新浪就使用了双重验证码).本文简单的介绍了JCaptcha库以及使用实例,下面一起来看看. 下载JCaptcha库 maven依赖如此添加: <dependency> <groupId>com.octo.captcha</groupId> <artifactId>jcaptcha</artifactId> <version>1.0</version&

java中JSON库JSON.simple/GSON/Jackson/JSONP性能对比

JSON因为其易于人阅读和编写,同时也易于机器解析和生成,兼容性强,已经成为当前服务器与WEB应用之间数据传输的公认标准.本文我们在java编程语言运行了一个基准测试来对常用的几个JSON库进行了测试,看看在解析不同大小的文件时库的速度是最快性能最好的是哪个库. JSON通常用于传输及解析大文件.这对运行在Hadoop或者是Spark集群上的数据处理程序而言是个很常见的场景.在给定的文件大小下,你可以看到不同库之间的解析速度存在着明显的差别. 高吞吐量的情况下,会频繁地传输并解析小文件,因此一开