グルービャーなら一度は目にしたことがあるであろうHAKIに、GroovyからJava8のstreamを利用する方法が書かれていました。
Groovy Goodness: Use Closures as Java Lambda Expressions
よりシンプルなサンプルを書いてみました。
以下のような感じで利用できるみたいです。
1から10の数値が格納されたリストから、偶数を抜き出して、それぞれに1を足す、と言う処理です。
Groovyからstreamってどんな時に使うの?と言われれば微妙ですが、Javaのサンプルソースなどを色々いじったりする際にGroovyからお手軽に確認することが出来ますね。
// Listのstreamメソッドを叩いてstreamを取得
assert [3, 5, 7, 9, 11] == (1..10).stream()
.filter { // streamのfilter。Groovyで言うところのfindAll。
it % 2 == 0
}.map{ Integer hoge -> //streamのmap。Groovyで言うところのcollect。itじゃなくて変数を宣言することも当然出来る。
hoge + 1
}.collect() //コレでstreamからListに変換し直す。
追記(2017/10/16)
Groovy2.6(alpha-1)から、Java8の文法をそのままGroovyで書けるようになりました。
こちらをご覧ください。