Como se ha visto a lo largo de esta sección,
la librería estándar de Java proporciona bastantes colecciones útiles, ya muy potentes
en el JDK 1.2, aunque no es un compendio completo. Una de las potencias de C++ son sus
librerías, y en concreto la Standard Template Library (STL) que proporciona un
conjunto completo de colecciones, así como algoritmos de ordenación y búsqueda que
trabajan sobre estas colecciones. Basándose en este modelo, la empresa ObjectSpace
ha creado una Librería Genérica para Java, Java Generic Library (JGL), que
intenta adaptarse todo lo posible al diseño de la STL, salvando las diferencias que
existen entre los dos lenguajes, obviamente. La JGL parece cumplir muchas, sino todas, de
las necesidades de una librería de colecciones, al menos en todo lo que se puede sin
disponer de un mecanismo como las plantillas, template, de C++. La JGL incluye
listas enlazadas, conjuntos, colas, mapas, pilas, secuencias e iteradores, que en algunos
casos presentan decisiones de diseño más inteligentes que las librerías antiguas de
Sun; por ejemplo, los métodos en JGL no son nunca final, con lo cual es fácil heredar y
sobreescribir estos métodos. La JGL
está incluida en algunas distribuciones de Java y ObjectSpace ha puesto la JGL en
dominio público, incluida su utilización comercial, en http://www.ObjectSpace.com, y no es una mala
opción mientras el JDK 1.2 no se encuentre en fase final e incorpore todas las opciones
que que ahora ofrece la JGL. La documentación que viene con el paquete JGL es bastante
buena y debería ser suficiente para poder atacarla desde cero. |