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

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

この記事を読むのに必要な時間:およそ 1 分

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

著者プロフィール

角田直行(かくだなおゆき)

普段はお仕事でPHPやJavaを使ってWeb開発をしています。一部でセレブエンジニアとか言われてますが,全然セレブじゃありません。

コメント

コメントの記入