開店休業中

groovyのソートはえらい

最終更新:

okumura

- view
メンバー限定 登録/ログイン
次のようなクラスが有るとして、
class Song {
    public String name;
    public String artist;
    public String album;
    public int indexAtAlbum;
}
因みに上記で定義されているのはフィールドではなくプロパティで、
こう書くとgroovyではprivateなフィールドとpublicなアクセサができるんですけど、

まあ、こいつのリストをアーティスト順、アルバム順、アルバム中の曲順にソートしたいとしましょう。
その場合、こう書きます。
songs.sort{[it.artist, it.album, it.indexAtAlbum]};

sortメソッドに、1引数で配列を返すクロージャを渡すと、その配列の先頭から順に比較していく...
ということなんですけど、何よりなんて直感的なコードなんだろうと感動してしまいました。

タグ:

Groovy 開発
目安箱バナー