Kodrill

Java SE 17 Gold (1Z0-826-JPN) 試験 / Java ストリーム API ・ 無料問題 5/5

Java ストリーム API 問題5[Stream の中間操作 (filter, map, peek, sorted および flatMap メソッドなど)]

次のコードを実行したときの出力を選んでください。

Main.java
import java.util.*;import java.util.stream.*;​public class Main {    public static void main(String[] args) {        List<List<Integer>> nested = List.of(List.of(1, 2), List.of(3), List.of());        System.out.println(nested.stream()            .flatMap(List::stream)            .map(n -> n * n)            .collect(Collectors.toList()));    }}

選択肢

  • A.[1, 4, 9, 0]
  • B.コンパイルエラーになる
  • C.[[1, 4], [9], []]
  • D.[1, 4, 9]正解

解説実行して確認済み

flatMap は各要素をストリームに変換し、それらを1つのストリームにつなげます (平坦化)。リストのリストが 1, 2, 3 の要素のストリームになり、空のリストからは要素が出ません。それを map で2乗して [1, 4, 9] です。map を使うと Stream<Stream<Integer>> のようにストリームが入れ子のままになります。

この問題の答えは、試験の対象バージョンでコードを実際に実行して確かめています。確かめ方は運営者情報に書いています。

「Java ストリーム API」の要点を解説記事で読む

「Java ストリーム API」の無料問題

ここで公開しているのは無料範囲の問題です。無料登録すると、解答の記録・ダッシュボードでの復習ができ、 プレミアムならこの問題セットの全問題と本番形式の模擬試験も解けます。