Google Guava

Google Guavaとは、オープンソースJavaライブラリで、Javaのプログラミングで共通して使われるユーティリティライブラリをまとめたもの。主にGoogleのエンジニアによって開発されている。

Google Guava
作者 Kevin Bourrillion and Jared Levy (Google Collections Library) [1]
開発元 Google
最新版
31.0.1 / 2021年9月27日 (2021-09-27)
リポジトリ
プログラミング
言語
Java
対応OS クロスプラットフォーム
サポート状況 Active
種別 ユーティリティ・コレクションライブラリ
ライセンス Apache License 2.0
公式サイト github.com/google/guava

概要

Google Guavaは、主に三つのコンポーネントにわけられている。

  • 共通メソッドや振る舞いを簡潔に実装するための基本ライブラリ。hashCodeなどの実装や前提条件チェックなどのコード量を減らすことができる。
  • 標準ライブラリのJava Collections Frameworkへの拡張。以前はGoogle Collections Libraryと呼ばれていた。
  • その他のユーティリティライブラリで、関数型プログラミング、キャッシュ、区間オブジェクト、ハッシュなどをサポートする。

JDK 1.5でJavaに総称型が導入されたが、標準のコレクション・フレームワークは十分な機能を有しているとはいえず、また代表的なユーティリティ・ライブラリであるApache Commons Collectionsは、後方互換性を維持するために総称型への対応を行わなかった。こうした状況に対処するため、GoogleのエンジニアであるKevin BourrillionとJared Levyが社内の「20%ルール」を使い、総称型をサポートしつつ高機能なコレクションクラスを提供するGoogle Collections Libraryを開発した[1]のが、Guavaの先駆けである。そのため、Guavaのコレクションフレームワークはライブラリの中でも特に強力で、マルチセット、マルチマップ、双方向マップ、不変コレクション型などの多種多様なクラスが実装されている。また、デザインやコードの監修には、ベストセラーEffective Javaの著者ジョシュア・ブロックや、Javaの並列プログラミング用標準ライブラリを策定したダグ・リーen:Doug Lea)などが関わっていた。[1]

Sonatype社の調査によれば、2012年4月時点で、Apache Commonsのプロジェクト群などに次いで、Guavaは12番目に人気なJavaライブラリとなっている。[2]

関連項目

脚注

  1. Wielenga, Geertjan (2007年10月23日). What is the Google Collections Library?”. Javalobby. 2013年2月3日閲覧。
  2. O'Brien, Tim (2012年5月14日). Google Guava Shows Strong Growth in April”. Sonatype. 2013年2月3日閲覧。

外部リンク

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.