CUBは子供の白熊

Java SE 8 実践プログラミングの練習問題を解く

第2章 ストリーム API の使い方 : 問題 6 : Stream の効率的な生成

問題 6

文字列からCharacterのストリームを生成するメソッドがある。

public static Stream<Character> characterStream(String s) {
    List<Character> result = new ArrayList<>();
    for (char c : s.toCharArray())
        result.add(c);
    return result.stream();
}

このメソッドでは、最初にリストを生成して次にリストをストリームに変換している。
Streamメソッドだけで、しかもひとつのセンテンスで生成せよ

解答

public static Stream<Character> characterStream(String s) {
    return IntStream.range(0, s.length()).mapToObj(n -> s.charAt(n));
}