Java8 Stream API 簡単なサンプルコード

Stream APIを書く機会があったので、 簡単なサンプルコードを書いてみた。

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

public class Main {

    public static void main(String[] args) {

        List<String> array = Arrays.asList("A", "B", "C", "A", "B");

        // filter
        System.out.println("filter---------------");
        array.stream()
            .filter(value -> value == "A")
            .forEach(value -> System.out.println(value));

        // limit
        System.out.println("limit---------------");
        array.stream()
            .limit(3)
            .forEach(value -> System.out.println(value));

        // distinct
        System.out.println("distinct---------------");
        array.stream()
            .distinct()
            .forEach(value -> System.out.println(value));

        // sorted
        System.out.println("sorted---------------");
        array.stream()
            .sorted()
            .forEach(value -> System.out.println(value));

        // map
        System.out.println("map---------------");
        array.stream()
            .map(s -> s.toLowerCase())
            .forEach(value -> System.out.println(value));

        // reduce
        System.out.println("reduce---------------");
        String collectedStr = array.stream()
            .reduce((s, t) -> s + t)
            .get();
        System.out.println(collectedStr);
    }
}