RSS Feed for This PostCurrent Article

Java: Google Collections

The Google Collections Library  is a suite of new collections and collection-related goodness for Java 5.0.

This library is a natural extension of the Java Collections Framework you.

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

Trackback URL

RSS Feed for This PostPost a Comment