Java 8 で Fizz Buzz

Java 8 でいろいろな機能が追加されたので、ちょいちょい遊んでたんだけど、試しに Fizz Buzz を書いてみたら、思いのほかシンプルに書けたので晒してみる。

FizzBuzz.java
1
2
3
4
5
6
7
8
9
10
11
12
public class FizzBuzz {
public static void main(String[] args) {
java.util.stream.IntStream
.range(1, 100)
.mapToObj(
n -> n % 15 == 0 ? "FizzBuzz"
: n % 5 == 0 ? "Buzz"
: n % 3 == 0 ? "Fizz"
: n)
.forEach(System.out::println);
}
}

main メソッドの中身がワンライナー、というかワン ステートメントで書けるようになったのがちょっと感動。 「これほんとに Java か?」って感じ。

実際のところ、ラムダ式のパフォーマンスってどのくらいなんだろう・・・