The Google Collections Library 1.0 (RC5) is a set of new collection types, implementations and related goodness for Java 5 and higher, brought to you by Google. It is a natural extension of the Java Collections Framework you already know and love.
We are now posting release candidates for the final 1.0 release. Until the release is final, the API is still subject to change. (However, these changes should be very minimal at this point.)
Download 1.0 Release Candidate 5 now
Note about Guava
We have created a project called Guava to house a plethora of important core libraries for Java. In the near future, that project will include the Google Collections Library, and the project you're looking at now will cease to exist as its own independent entity. We apologize in advance for confusion this will certainly cause.
What's in here?
- New Collection types: Multimap, Multiset, BiMap and others
- High-performance immutable implementations of the standard collection types, for example ImmutableSet
- MapMaker, a builder for concurrent hash maps with many advanced features
- Ordering, which can only be described as a "Comparator on steroids"
- Iterators and Iterables utility classes: element-based equality, cycle, concat, partition, filter with predicate, transform with function, and much more
- Lists, Sets and Maps utility classes: a plethora of convenient factory methods and much more
- Forwarding collections, such as ForwardingSet, allowing you to customize collection behavior without subclassing
- Implementation helpers like AbstractIterator
- and still more
We hope you find this library half as useful as we have ourselves!
General interest background reading: JavaLobby interview with Kevin and Jared.