JDK8 Lambda その他いろいろ なんでもいいから動かしてみる その3

さぁ、今日も Java8 に備えて適当に何かをうごかしてみよう(~_~;)

ということで昨日のプログラムに、ロレックスの売買を全て表示させてみようと思います。

filter() メソッドでフィルタリングしてリストを作り直して表示させているだけという非常にシンプルなコードです。

mylambdaexamples\MyLambdaExamples.java
// ロレックスの売買を全て表示
System.out.println("\n<-- ロレックスの売買を全て表示 -->");
sales.filter(s -> s.getWristwatch().getBrand().equals("ロレックス"))
        .collect(toList()).forEach(e -> {
            System.out.println("ロレックスを売った人は、" + e.seller.getFirstName()
            + " " + e.seller.getLastName()
            + "     ロレックスを買った人は " + e.buyer.getFirstName()
            + e.buyer.getLastName()
            + "     購入金額は、" + (int)e.getCost() + "円です。");
        });

こんなにシンプルでいいのかな?って思ってしまいます。

実行結果は次のようになります。

<– ロレックスの売買を全て表示 –>
ロレックスを売った人は、壇 蜜     ロレックスを買った人は 柴田恭平     購入金額は、400000円です。
ロレックスを売った人は、綾瀬 はるか     ロレックスを買った人は 深田恭子     購入金額は、300000円です。

このように Java8 は開発者に面倒なコードを非常にシンプルに記述できる素敵な贈り物になるであろう。

なんてね (*^▽^*)

さぁ、明日は何を試そうかな。

Hatena タグ:

JDK8 Lambda その他いろいろ なんでもいいから動かしてみる その2

今日は注目の新機能 StringJoiner を使ってみます。

Wristwatch のブランドを全て表示させます。

その際に、” , “ で連結させて表示させてみましょう。

非常に簡単に実装可能なので便利に使えそうです。

では、昨日のプログラムにコードを追加します。

mylambdaexamples\MyLambdaExamples.java
// Wristwatch ブランドを全て表示
// StringJoiner クラスの toStringJoiner() メソッドを使い , で連結表示させてみる
System.out.println("\n<-- Wristwatch ブランドを全て表示 -->");
StringJoiner brands = wristwatches.map(Wristwatch::getBrand).collect(toStringJoiner(" , "));
System.out.println(brands.toString());

非常にシンプルなコードですね。(^_^)

実行結果は次のようになります。

<– Wristwatch ブランドを全て表示 –>
ロレックス , カルティエ , ティファニー , チュードル , オメガ

JDK8 は至れり尽くせりの便利な機能が満載かもしれませんね!

Hatena タグ: