Google Guava


The Google Guava Libraries are a nice set of Java utility classes that will probably come in handy in any project. Immutable collections, string manipulation, handling primitives and easier I/O are some of the concepts they deal with.

Today the the Guava wiki explains most you need to know, but back in the day documentation was quite thin, so I created this page to collect documentation and tips from around the web. I don't follow the topic actively these days, so you may be better off checking out Eugen Baeldung's Guava guides.

Disclaimer: I'm not affiliated with Guava or Google in any way. I just think these are some great libraries that every Java project should include in the classpath!

Resources (latest on top)

If you want me to add more resources or have any comments, get in touch.

Added 16.08.20: Bartek Chmielewski has written a guide to Google Guava in Polish:

Added 29.12.15: Eugen Baeldung updates us on the latest changes in Guava:

Added 14.02.14: Sezin Karli has done a nice tour of all the Guava basics:

Added 15.01.14: Level up Lunch features a bunch of Guava examples and one tutorial:

Added 20.11.13: Kevin Bourrillion guests on the Java Posse podcast to talk about Guava:

Added 21.10.13: Bill Bejeck has written a book about Google Guava:

Added 20.02.12: Kevin Bourrillion does a big tour of Guava at QCon November 2012:

Added 20.02.12: Stay up to date with Guava development on their Google+ page:

Added 15.12.12: Another introduction by Mite Mitreski (slide-set and links):

Added 10.12.12: Introduction to Guava by Bhavin Parikh (slide-set):

Added 10.07.12: EclipseSource article showing off CacheBuilder/LoadingCache:

Added 06.06.12: A quick introduction article from EclipseSource:

Added 05.06.12: Cyrille Martraire has a series on functional Java with Guava:

Added 05.06.12: Tom Jefferys discusses String splitting:

Added 23.12.11: GuavaExplained - The official Guava wiki finally gets some proper content:

Added 23.12.11: Examples on sorting collections from polygenelubricants:

Added 17.11.11: An example from the Guava Concurrency utils, by Bill Bejeck:

Added 19.10.11: An example of using the new Guava EventBus:

Added 19.10.11: How to do Commons Collections stuff with Guava:

Added 23.04.11: Presentation from the Guava team about util.concurrent:

Added 09.02.11: Google Guava vs Apache Commons for arg validation:

Added 22.01.11: Google Guava v07 examples, by Jakub Nabrdalik:

Added 22.01.11: Kevin Bourrillion presents Guava @NetFlix, 2010-04-26

Added 20.01.11: Discussions on StackOverflow of Guava vs Apache Commons:

Added 19.01.11: Read the test source:

Original content up to 2010

A five-part, quite extensive tutorial from Sezin Karli:

Google Guava, the easy parts. A basic tutorial that recently surfaced on DZone:

A collection of short snippets (great mini reference for Google Collections):

Codemunchies' 4 part series on Google Collections and Guava:

Another intro to Google Collections:

And yet another intro, from JayWay:

Creating a fluent interface, improving on Google Collections (advanced):

And if you're curious about the whole rationale behind GC, you can watch the whole video from the creators (including comments from Josh Bloch, who created the java.util collections in the first place):

My presentation in 2010

This is my presentation I created about Google Guava back in the day.

You can find the code from this presentation on GitHub.

Page Revision history

18/1 - 2011: Moved resources to this page.

18/6 - 2010: Wrote the original blog post.