As you can see from this chapter, the standard Java library provides a number of particularly useful collections, but far from the full meaning of the collection. In addition, algorithms such as sequencing do not provide support at all. One of the great things about C + + is its library, especially the Standard Template Library (STL), which provides a fairly complete set, and many algorithms such as sorting and retrieval, that make it easy to manipulate those collections.
With this in view, and based on this model, ObjectSpace company designed the Java version of the "Common Collection Library" (formerly known as the "Java Common Library", that is, JGL; but jgl this abbreviated form infringes Sun's copyright-although this is still the case). This library follows the design of the STL as much as possible (taking care of the differences between the two languages). JGL implements a number of features that meet most of the general requirements of a collection library, and are very similar to the template mechanisms of C + +. JGL includes lists, settings, queues, mappings, stacks, sequences, and iterations that are linked to each other, and they are more powerful than enumeration (enumerations). It also provides a complete set of algorithms, such as retrieval and sorting. In some respects, the design of ObjectSpace also appears to be more "intelligent" than Sun's library design scheme. For example, the methods in the JGL collection do not enter the final state, so it is easy to inherit and rewrite those methods.
JGL has been included in some vendor-issued Java suites, and the ObjectSpace company itself allows all users to use JGL for free, including commercial use. Details and software downloads are available for access to http://www.ObjectSpace.com. The online documentation provided with JGL is excellent and can be used as an excellent starting point for yourself.