Stream API まとめクイズ

クイズ1

次の 4 つの Stream パイプラインのうち、int[] arr (100 万件) から、正の数 (n > 0) だけを取り出し、降順 (大きい順) に並べ、重複を除き先頭 5 件int[] で取得する」 という要件を、正しく かつ 最も性能の良い順序 で実装しているのはどれでしょうか。

Java

// 選択肢 A int[] r = Arrays.stream(arr).boxed() .sorted(Comparator.reverseOrder()) .filter(n -> n > 0) .distinct() .limit(5) .mapToInt(Integer::intValue) .toArray(); // 選択肢 B int[] r = Arrays.stream(arr).boxed() .filter(n -> n > 0) .distinct() .sorted(Comparator.reverseOrder()) .limit(5) .mapToInt(Integer::intValue) .toArray(); // 選択肢 C int[] r = Arrays.stream(arr).boxed() .filter(n -> n > 0) .limit(5) .distinct() .sorted(Comparator.reverseOrder()) .mapToInt(Integer::intValue) .toArray(); // 選択肢 D int[] r = Arrays.stream(arr).boxed() .filter(n -> n > 0) .distinct() .sorted(Comparator.reverseOrder()) .limit(5) .forEach(System.out::println);

クイズ2

次のうち、Stream API の中間操作 (intermediate operation) だけを並べたグループはどれでしょうか。

クイズ3

次のコードが返す値は何でしょうか。reduce初期値 を含む集約の仕組みに注意して 1 つ選んでください。

Java

int result = Stream.of(1, 2, 3, 4) .reduce(10, Integer::sum);

クイズ4

parallelStream を使うときの 注意点 として、最も正しい説明はどれでしょうか。

クイズ5

次のうち、Collectors.groupingBy を使って 「年齢ごとに人数を数える」 Stream パイプラインとして正しいのはどれでしょうか。peopleList<Person> で、Personint getAge() を持ちます。

未回答の問題は、不正解として正解と解説のみ表示します

ログインが必要です

クイズに回答するにはログインしてください。