濃縮還元オレンジニュース

Google Collections Libraryのサンプルコード一覧

Googleの開発者たちが作ったJava 5ベースのライブラリ「Google Collections Library」の使い方をコードつきで解説した記事をまとめたものです。

Iterables、Multimap、Joinなどのクラスについて全部で14の記事があります。そして、すべての記事にはGoogle Collections Libraryを使う前と使ったあとのコードが載っており、ライブラリの導入効果がとても掴みやすくなっています。

たとえば、Preconditionsという引数や状態をチェックするためのメソッドをいくつか含んだクラスの使い方として、何もライブラリを使わないコードはリスト1Preconditionsを使ったコードはリスト2になります。Preconditionsを使うと冗長なif文を除くことができ、Javaのassert構文やJUnitのassertメソッドのような感覚で条件をチェックできることがわかります。

リスト1 Google Collections Library未使用
public Delivery createDelivery(Order order, User deliveryPerson) {
    if(order.getAddress() == null) {
        throw new NullPointerException("order address");
    }
    if(!workSchedule.isOnDuty(deliveryPerson, order.getArrivalTime())) {
        throw new IllegalArgumentException(
            String.format("%s is not on duty for %s", deliveryPerson, order));
    }

    return new RealDelivery(order, deliveryPerson);
}
リスト2 Google Collections Library使用後
public Delivery createDelivery(Order order, User deliveryPerson) {
    Preconditions.checkNotNull(order.getAddress(), "order address");
    Preconditions.checkArgument(
        workSchedule.isOnDuty(deliveryPerson, order.getArrivalTime()),
        "%s is not on duty for %s", deliveryPerson, order);

    return new RealDelivery(order, deliveryPerson);
}

Google Collections Libraryは現在バージョン0.5 alphaですが、GMailやGoogle Reader、AdWordsなど多数のGoogleサービスで使われているらしく、利用実績は十分です。

URLhttp://publicobject.com/2007/09/series-recap-coding-in-small
-with.html

おすすめ記事

記事・ニュース一覧