NetBeans 8 Dev を使って Lambda で遊ぶ その6
今回は limit() メソッドを使ってみます。
MyLambdaSample プロジェクトの MyLambdaSample.java に MyBeatMember を FightingPower 詳細昇順ソート 最初から3人まで とういう機能を実装します。
limit() メソッドを使うと簡単にできてしまいます。( 203 行目 )
jp\yucchi\mylambdasample\MyLambdaSample.java |
196 197 198 199 200 201 202 203 204 205 206 207 208 209 |
// 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
便利に使えそうですね。(^_^)
Trackback URL