Google Collections Libraryを使ってみる
Google Codeは,Goolge主体の,オープンソースの開発者向けWebサイトですが,先日それに含まれるJavaライブラリであるGoogle Collections Libraryについての紹介記事(GoogleのJavaコレクションを使う理由、Multimapが便利)を発見しました.
確かに便利そうだと思い,他の機能も含めて試してみようと.
Google Codeとは
本題に入る前に,Google Codeとは何かについて.
色々検索する過程でよく目にするものの,実際どういう組織・構造になっているのかよく分からない人も多いかと.
Google Code はGoogleが関連するソフトウェアやオープンソースのソフトウェア開発に興味を持つ開発者向けに立ち上げたサイト。オープンソースのコードや、標準のAPIをサポートするサービス群がある。(Wikipediaより)
含まれるコードの構成は以下のように分類できる模様.
Google発のオープンソース
- 公開しているだけのもの
- google-perftools, protobufなど
- コミュニティ参加型のもの
- Android, Chromium, Gears, GWT, Jaiku, Native Client, O3D, V8 JavaScript Engineなど
Googleとは関係のないソースコード
コミュニティ参加型のものについては,Google Codeのシステム上でレビューが行われていて,その様子を見たり参加したりできるよう.
以下,関連リンク集.
- Google Code
- 本家のサイト.ここ自体ドキュメント充実.
- Google Code Labs (Labs)
- Google Code内に2009年3月に開設された.Googleが提供する開発者向けAPIやサービスのうち,開発の初期段階にある実験的なものを公開している.
- google-styleguide
- Google社内のコーディング規約.なぜかJavaがないのが残念.Pythonについてはあったのであとで見てみようかと.自由に書いてコードが雑になりやすいLLを使って複数人で開発するには一層コーディング規約が重要になってくる気がする.
- Google Developer Relations Japan
- Google の技術を利用するデベロッパーのための日本語サイト.しかし,今はあまり活気が無い模様.
- CodaとGoogle Codeで始めるプロジェクトのバージョン管理
- Google Codeでプロジェクト立ち上げる流れが説明されている.
あと,”Googleの全貌”という本の6章「ソースコードから見るグーグル気質」でも,社内での活用を含めて分かりやすく取り上げられています.
この本は,2009年12月に出たばかりで,分かりやすくGoogleの色々なサービス・戦略・技術・社風などを網羅的に紹介していて,なかなか面白いです.

Google Collections Library
ようやく本題のGoogle Collections Libraryへ.
Google Collections Libraryは,MapなどのJavaコレクションをより便利に扱うための便利なクラス群ライブラリのようです.
冒頭で紹介したGoogleのJavaコレクションを使う理由、Multimapが便利とともに「Google Collections Library」でJavaのコレクションを補完する(バージョンが少し古い)を参考にしながら.
細かい利点などはリンク先を参照してもらえればと思います.
まずはここからダウンロード.
本体に含まれるJavadocとは別に,PDFによる説明などが用意されていて親切.
で,実際の利用.
色々機能を使いながら紹介…と思って,よくよく「Google Collections Library」でJavaのコレクションを補完するを読んでみたら,書きたいようなことがよくまとまってたので,これ以上やっても意味ないことに気づきました(´・ω・`)
というわけで,尻つぼみで終了.
個人的にこれから使いつつ,記事に書いてない新しい発見が出たら追記するなり新しい記事書こうかなと.
前置きの方が本題よりも長いことになってしまいました…





Google Calendarのデータが欲しくて,Google Data APIをJavaでいじってる時に気づいたけど内部でGoogle Collections Libraryを使っているみたい.ちょうどよかった.