by
jpcaruana
&
1 other
(via)
The Google Collections Library 0.5 (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 histogram.
* 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 more.
* PrimitiveArrays: "boxing"/"unboxing" of primitive arrays
And there's more:
* Forwarding collections
* Constrained collections
* Implementation helpers like AbstractIterator
To understand everything offered by this library, you'll have to explore the API using the "API documentation" link at the right. Further information can be found using "Wiki" tab above.
We will post binaries soon, but until then, you can obtain the code using Subversion. Just do a checkout of http://google-collections.googlecode.com/svn/trunk/.
We hope you find this library half as useful as we have ourselves!
java
google
programmation
open source