NetBeans 8 Dev を使って Lambda で遊ぶ その7

今日は substream() メソッドを使ってみます。

これを使って MyLambdaSample プロジェクトの MyLambdaSample.java に MyBestMember を FightingPower 詳細昇順ソート 最初から3人までスキップさせます。

使い方は簡単で substream() メソッドの引数にスキップさせたい要素数を渡せばいいだけです。

コードは下記のようになります。

jp\yucchi\mylambdasample\MyLambdaSample.java
// MyBeatMember を FightingPower 詳細照準ソート 最初から3人までスキップする
System.out.println("<-- MyBeatMember を FightingPower 詳細昇順ソート 最初から3人までスキップする -->");
member.parallelStream().filter(m -> m.getGender() == MyTeam.Sex.FEMALE
        && m.getAge() >= 16
        && m.getAge() <= 29
        && m.getBreast() >= 76)
        .sorted((o1, o2) -> o1.getFightingPower() - o2.getFightingPower())
        .substream(3)
        .collect(Collectors.toList())
        .forEach(e -> {
    System.out.println(e.getName() + ", " + e.getAge() + "歳, "
            + "Gender : " + e.getGender() + ", " + "Breast Size : "
            + e.getBreast() + ", FightingPower : " + e.getFightingPower());
});

とても便利ですね!

実行結果も確認しておきましょう。

<– MyBeatMember を FightingPower 詳細昇順ソート 最初から3人までスキップする –>
北川 景子, 26歳, Gender : FEMALE, Breast Size : 78, FightingPower : 80
綾瀬 はるか, 28歳, Gender : FEMALE, Breast Size : 88, FightingPower : 85
佐々木 希, 25歳, Gender : FEMALE, Breast Size : 80, FightingPower : 85
石原 さとみ, 26歳, Gender : FEMALE, Breast Size : 82, FightingPower : 89

Java 8 の Lambda とても素敵です。(^_^)

Hatena タグ: ,

NetBeans 8 Dev を使って Lambda で遊ぶ その6

今回は limit() メソッドを使ってみます。

MyLambdaSample プロジェクトの MyLambdaSample.java に MyBeatMember を FightingPower 詳細昇順ソート 最初から3人まで とういう機能を実装します。

limit() メソッドを使うと簡単にできてしまいます。( 203 行目 )

jp\yucchi\mylambdasample\MyLambdaSample.java
// MyBeatMember を FightingPower 詳細照準ソート 最初から3人まで
System.out.println("<-- MyBeatMember を FightingPower 詳細昇順ソート 最初から3人まで -->");
member.parallelStream().filter(m -> m.getGender() == MyTeam.Sex.FEMALE
        && m.getAge() >= 16
        && m.getAge() <= 29
        && m.getBreast() >= 76)
        .sorted((o1, o2) -> o1.getFightingPower() - o2.getFightingPower())
        .limit(3)
        .collect(Collectors.toList())
        .forEach(e -> {
    System.out.println(e.getName() + ", " + e.getAge() + "歳, "
            + "Gender : " + e.getGender() + ", " + "Breast Size : "
            + e.getBreast() + ", FightingPower : " + e.getFightingPower());
});

limit() メソッドの引数に制限数を渡すだけですね。

今回は3人ということなので 3 を渡しています。

実行結果は次のように期待通りの結果となりました。

<– MyBeatMember を FightingPower 詳細昇順ソート 最初から3人まで –>
武井 咲, 19歳, Gender : FEMALE, Breast Size : 76, FightingPower : 66
剛力 彩芽, 20歳, Gender : FEMALE, Breast Size : 77, FightingPower : 75
堀北 真希, 24歳, Gender : FEMALE, Breast Size : 78, FightingPower : 76

便利に使えそうですね。(^_^)

Hatena タグ: ,