演習課題「filterメソッド を使ってみよう」
コードエリアにはリストが用意されています。
中間操作であるfilter
メソッドを用いて、p, i, z に、要素に絞って、ストリームを出力するよう、コードを修正してください。
期待する出力値
p
i
z
演習課題「mapメソッド を使ってみよう」
コードエリアにはリストが用意されています。
中間操作であるmap
メソッドを、ラムダ式とあわせて用いることで、リストの各要素を大文字に変換したストリームを出力するよう、コードを修正してください。大文字に変換する際はtoUpperCase
メソッドを使用してください。
また、ラムダ式に関しては、string -> string.toUpperCase()
というように記述してください。
期待する出力値
P
A
I
Z
A
演習課題「peekメソッド を使ってみよう」
コードエリアにはリストが用意されています。
中間操作であるmap
メソッドをラムダ式とあわせて用いることで、リストの各要素を大文字に変換したストリームを出力するようにしてあります。
このストリームに、map
メソッドが適用される前の状態を出力するコードを、peek
メソッドを用いて記述してください。
期待する出力値
p
P
a
A
i
I
z
Z
a
A
演習課題「flatMapメソッド を使ってみよう」
コードエリアにはリストが用意されていますflatMap
メソッドを用いて、各要素から新たに生成したストリームを、すべてつなげてフラット化したストリームを出力してください。
期待する出力値
p
a
i
z
a
kirishima
rokumura
midorikawa
nekosensei
演習課題「sortedメソッド を使ってみよう」
コードエリアにはリストが用意されていますflatMap
メソッドを用いて、各要素から新たに生成したストリームを、すべてつなげてフラット化したストリームが出力されています。
このストリームの要素に、sorted
メソッドを使い、自然順序に従ってソートしたストリームを出力するよう修正してください。
期待する出力値
a
a
i
kirishima
midorikawa
nekosensei
p
rokumura
z
#10:中間操作(Stream)
このチャプターでは、Streamインターフェースの中間操作について学習します。
import java.util.*;
import java.util.function.*;
import java.util.stream.*;
public class Main {
public static void main(String... args) {
var l =
Arrays.asList(
Arrays.asList("a", "b"),
Arrays.asList("d", "e", "f"),
Arrays.asList("c"));
l.stream()
.flatMap(List::stream)
.sorted()
.forEach(System.out::println);
}
}