Google Guavaは、
Googleのエンジニアによって開発されたオープンソースの
Javaライブラリです。
Javaプログラミングにおいて、共通的に利用されるユーティリティ機能をまとめたもので、開発の効率化に貢献します。
概要
Guavaは、主に以下の3つのコンポーネントで構成されています。
1.
基本ライブラリ: 共通メソッドや振る舞いを簡潔に実装するための機能を提供します。`hashCode`の実装や、前提条件のチェックなど、記述量の多いコードを削減できます。
2.
コレクションライブラリ: 標準ライブラリである
Java Collections Frameworkを拡張したものです。以前は
Google Collections Libraryと呼ばれていました。ジェネリクスをサポートし、より強力なコレクション操作を実現します。
3.
その他のユーティリティライブラリ: 関数型プログラミング、キャッシュ、区間オブジェクト、ハッシュなどの多様な機能を提供します。
歴史的背景
JDK 1.5でジェネリクスが導入されましたが、標準のコレクションフレームワークは十分な機能を持っているとは言えませんでした。また、代表的なユーティリティライブラリである
Apache Commons Collectionsは、後方互換性を維持するためにジェネリクスへの対応を見送りました。この状況を打破するために、
GoogleのエンジニアであるKevin BourrillionとJared Levyが社内の「20%ルール」を活用し、ジェネリクスに対応した高機能なコレクションクラスを提供する
Google Collections Libraryを開発しました。これがGuavaの先駆けとなりました。
Guavaのコレクションフレームワークは、ライブラリの中でも特に強力です。マルチセット、マルチマップ、双方向マップ、不変コレクション型など、多様なクラスが実装されています。また、デザインやコードの監修には、ベストセラー「Effective
Java」の著者であるジョシュア・ブロックや、
Javaの並列プログラミング用標準ライブラリを策定したダグ・リーが関わっています。これにより、高い品質と信頼性が保証されています。
人気と評価
Sonatype社の調査によれば、2012年4月時点で、Guavaは
Apache Commonsなどのプロジェクト群に次いで、12番目に人気のある
Javaライブラリとなっています。これは、Guavaが広く利用され、開発現場で高く評価されていることを示しています。
関連項目
Apache Commons:
Apacheソフトウェア財団によって開発されている
Javaのユーティリティライブラリ群です。
Google Guice:
Googleによって開発された
Java用の依存性注入ライブラリです。
外部リンク
*
Google Guava