| 作者 | Kevin Bourrillion and Jared Levy (Google Collections Library) |
|---|---|
| 開発元 | |
| 最新版 |
33.4.0
/ 2024年12月17日 |
| リポジトリ | |
| プログラミング 言語 | Java |
| 対応OS | クロスプラットフォーム |
| サポート状況 | Active |
| 種別 | ユーティリティ・コレクションライブラリ |
| ライセンス | Apache License 2.0 |
| 公式サイト |
github |
Google Guavaとは、オープンソースのJavaライブラリで、Javaのプログラミングで共通して使われるユーティリティライブラリをまとめたもの。主にGoogleのエンジニアによって開発されている。
Google Guavaは、主に三つのコンポーネントにわけられている。
hashCodeなどの実装や前提条件チェックなどのコード量を減らすことができる。JDK 1.5でJavaに総称型が導入されたが、標準のコレクション・フレームワークは十分な機能を有しているとはいえず、また代表的なユーティリティ・ライブラリであるApache Commons Collectionsは、後方互換性を維持するために総称型への対応を行わなかった。こうした状況に対処するため、GoogleのエンジニアであるKevin BourrillionとJared Levyが社内の「20%ルール」を使い、総称型をサポートしつつ高機能なコレクションクラスを提供するGoogle Collections Libraryを開発したのが、Guavaの先駆けである。そのため、Guavaのコレクションフレームワークはライブラリの中でも特に強力で、マルチセット、マルチマップ、双方向マップ、不変コレクション型などの多種多様なクラスが実装されている。また、デザインやコードの監修には、ベストセラーEffective Javaの著者ジョシュア・ブロックや、Javaの並列プログラミング用標準ライブラリを策定したダグ・リー(en:Doug Lea)などが関わっていた。
Sonatype社の調査によれば、2012年4月時点で、Apache Commonsのプロジェクト群などに次いで、Guavaは12番目に人気なJavaライブラリとなっている。