Trove 3.0 released
Join the DZone community and get the full member experience.Join For Free
Ten Years Later...
In November 2001, Trove 0.0.1 was posted. Nearly ten years later the Trove development team is pleased to announce the release of version 3.0.0. This is a major release in every sense of the term: new features, new API's, compatibility breaks... the works. In addition to everything else, it provides a base on which we'll be able to build for the next ten years.
The largest visible change in this release is a complete repackaging. Previous releases lumped everything into the "gnu.trove" package. This has now be split into sub-packages to support our growing number of classes. To aid with migration, every class has moved to a different package, which allows early versions of Trove to co-exist with Trove 3.x. So, you don't have to change everything at once.
Second, we've introduced interfaces for nearly every class. This allows us to provide a number of different implementations in addition to the old ones you're used to. Notably, Map and Set structures now allow synchronized and unmodifiable implementations using the TCollections factory class (similar to java.util.Collections).
For many, many more changes, please see CHANGES.txt and the javadocs.
What is Trove?
The GNU Trove library has two objectives:
- Provide "free" (as in "free speech" and "free beer"), fast, lightweight implementations of the java.util Collections API. These implementations are designed to be pluggable replacements for their JDK equivalents.
- Whenever possible, provide the same collections support for primitive types. This gap in the JDK is often addressed by using the "wrapper" classes (java.lang.Integer, java.lang.Float, etc.) with Object-based collections. For most applications, however, collections which store primitives directly will require less space and yield significant performance gains.
Opinions expressed by DZone contributors are their own.