いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

Java 8のラムダ式とStreamについてのリソース (lambda, Stream, JSR 335, LINQっぽい)

久しぶりにJavaのメモ。
Java 8のラムダ式 (Lambda Expression)とStreamについての情報をメモメモ。
きしださんの記事がすごくわかりやすいです。感謝m(_ _)m
.NETやってる側からすると、LINQに似ていて、とっつきやすいですね。


Javaでも、シーケンスの処理を以下のように記述できるようになる模様。
以下、きしださんのところのサンプルまるパクリですが m(_ _)m

List<String> names = Arrays.asList("hoge", "hehehe", "fuga");
names.stream()
     .filter(s -> s.length() > 5)
     .map(s -> "[" + s + "]")
     .forEach(System.out::println);


C#では、以下のようになります。見た目はあんまり変わりません。
(若干最後のForEachは無理やり感が漂ってますがw)

var names = new []{ "hoge", "hehehe", "fuga" };
names.Where(s => s.Length > 5)
     .Select(s => "[" + s + "]")
     .ToList()
     .ForEach(Console.WriteLine);
     

================================
過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。