Java Generic Library


The JavaGenericLibrary - JGL (pronounced 'juggle') - is a JavaLanguage library providing collections and generic algorithms to perform various operations on those collections. It has been around for longer than the standard Collections API written by SunMicrosystems and many believe it to be superior in performance and design.

It should be noted that JGL is based on the design of STL (CeePlusPlus StandardTemplateLibrary). So, if you are interested in an STL approach for Java, you should also take a look at the JavaAlgorithmLibrary which was created by Matthew Austern and AlexanderStepanov (the creator of STL). Like STL and even the Java Collections Framework, both approaches rely heavily on ExternalIteration. Unfortunately, this immediately makes them less efficient and harder to use for distributed systems that a foundation based on InternalIteration. Personally, I'm still looking for a good ObjectOriented Collection Hierarchy for Java that is more SmalltalkLanguage-like than CeePlusPlus-like.

The techniques used by JGL and JAL shouldn't be confused with GenericJava which brings genericity to Java with ParametricPolymorphism.

[Not OpenSource. But the price is quite reasonable.]

See also: JavaAlgorithmLibrary

Those who believe JGL to be superior to Java Collections are very wrong. I did exhaustive performance comparisons when the Collections API was added to Java, and it beat the pants off of JGL. It wasn't even close. As to whether JGL was superior in design, well, de gustibus non est disputandum. JGL was much larger, and had a much lower power-to-weight ratio, but it was more familiar to those versed in STL.

-- Josh Bloch

CategoryCollections CategoryJava QueryLanguagesForInMemoryObjects

EditText of this page (last edited July 21, 2006) or FindPage with title or text search