ホーム > タグ > Guava
Guava
Hello, Guava !
- March 12, 2012 12:12 am
- Program
Guava(Google発のJavaライブラリ)については過去にも記事を書いていますが、今回は改めて社内勉強会のためにまとめ直しました。
おそらく最も基本で身近で使い出があると思われる、
- com.google.common.base
- com.google.common.collect
- com.google.common.io
この3つのパッケージについて幾つかのクラス・メソッドをピックアップし、以下のスライドで紹介しています。また各パッケージの導入部に設定した課題については、JDKのみで書いた場合とGuavaを使って書いた場合のサンプルコードを用意しました。
(サンプルコードの方はPDFなのですが、埋め込みでは見づらそうなのでSlideShareからダウンロードして頂く方が良いかもしれません)
進化するJavaライブラリ、Guava
- November 14, 2011 1:16 am
- Program
GoogleのJavaユーティリティライブラリであるGuavaは、今年9月28日にリリース10.0.0を迎えました。新たなAPIも追加され、更なる進化を遂げています。(執筆時点での最新リリースは10.0.1)
今回は、まだベータ版ながら新しく追加された興味深いAPIを4つ紹介します。
他のAPIについても、JavaDocなどで@Betaアノテーションがついているものはベータ版ですので、今後のリリースで変更される可能性があります。
Stopwatch
プログラムの実行時間を計測したいとき、よく使われるコードがあります。
long t1 = System.currentTimeMillis();
someExpensiveCompute();
long t2 = System.currentTimeMillis();
System.out.printf("time: %sms%n", t2 - t1);
このt1とかt2とかいう、よくわからない変数は何でしょう? それに時間を表示するために面倒な引き算をしていますね。Stopwatchを使うとこう書くことができます。
Stopwatch stopwatch = new Stopwatch().start();
someExpensiveCompute();
stopwatch.stop();
System.out.printf("time: %s%n", stopwatch);
Guavaのススメ
- January 15, 2011 4:13 pm
- Program
Guava: Google Core Libraries for Java 1.5+
GoogleのJavaユーティリティライブラリで、Apache Commons の Lang、Collectionsなどに替わる機能を提供してくれるものです。コンパクトながら、かゆいところに手が届く良質なAPIになっていると思います。
いくつかの機能を紹介します。
コレクションの全ての要素を変換したい
List<A>を基にしてList<B>を作るとします。
ライブラリを使わない場合はこんな感じになるでしょう。
List<B> blist = new ArrayList<B>(alist.size());
for (A a : alist) {
blist.add(new B(a));
}
Guavaを使う場合は次のように書きます。
List<B> blist = Lists.transform(alist, new Function<A, B>(){
@Override
public B apply(A a) {
return new B(a);
}
});
おや? どこかで見たような・・・。そう、Commons CollectionsのListUtilsと似ています。が、あちらはジェネリクスを使わないので、ダサいキャストが必要になります。
このリスト変換の利点は、要素を使う時(リストから要素を取り出そうとした時)に初めて変換が行われるところにあります。 続きを読む
ホーム > タグ > Guava
- RSS feed
- Advertisement
日本語
English