google-collections - Google Collections Library
The Google Collections Library 1.0 (ALPHA) is a suite of new collections and
collection-related goodness for Java 5.0, brought to you by Google.
This library is a natural extension of the Java Collections Framework you
already know and love.
The major new types are:
* BiMap. A Map that guarantees unique values, and supports an inverse view.
* Multiset. A Collection that may contain duplicate values like a List, yet
has order-independent equality like a Set. Often used to represent a
* Multimap. Similar to Map, but may contain duplicate keys. Has subtypes
SetMultimap and ListMultimap providing more specific behavior.
There are also more than a dozen collection implementations, mostly of the
interfaces above, but not all. ReferenceMap, for example, is a ConcurrentMap
implementation which easily handles any combination of strong, soft or weak
keys with strong, soft or weak values.
Static utility classes include:
* Comparators. Natural order, compound, null-friendly, ad-hoc . . .
* Iterators and Iterables. Element-based equality, cycle, concat,
partition, filter with predicate, transform with function . . .
* Lists, Sets and Maps. A plethora of convenient factory methods and much
* PrimitiveArrays: "boxing"/"unboxing" of primitive arrays
And there's more:
* Forwarding collections
* Constrained collections
* Implementation helpers like AbstractIterator