Java 8のラムダ式とStream APIを使ってみる

| コメントをどうぞ

Java 8からラムダ式とStream APIが新しく追加されますので、試しに使ってみます。

まず従来のJava 7ではListからフィルターして表示するのに、以下のような記述をします。

import java.util.Arrays;
import java.util.List;

public class Jdk7List {
    public static void main(String[] args) {
        String[] values = {"A001", "B001", "AB001", "BA001"};
        List<String> list = Arrays.asList(values);
        for (String e : list) {
            if (e.startsWith("A")) {
                System.out.println(e);
            }
        }
    }
}

実行するとA001とAB001が表示されます。

Java 8ではStream APIを使ってラムダ式を記述できます。

import java.util.Arrays;
import java.util.List;

public class Jdk8List {
    public static void main(String[] args) {
        String[] values = {"A001", "B001", "AB001", "BA001"};
        List<String> list = Arrays.asList(values);
        list.stream()
            .filter(e -> e.startsWith("A"))
            .forEach(e -> System.out.println(e));
    }
}

実行するとJava 7と同じくA001とAB001が表示されます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>