See
http://www.recursionsw.com/jgl.htm
http://www.recursionsw.com/jgl_release_notes.htm
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