CodeGym
学習
コース
課題
アンケート & クイズ
ゲーム
ヘルプ
スケジュール
コミュニティ
ユーザー
フォーラム
チャット
記事
成功事例
アクティビティ
レビュー
サブスクリプション
ライトテーマ

レッスン

  • レビュー
  • 私たちについて
開始
学習開始
今すぐ学習を始める
  • 学習の進捗
  • コース
  • クエストマップ
  • レッスン
  • flatMap と mapMulti メソッド

    JAVA 25 SELF
    レベル 32,レッスン 0
    この講義では、 map による変換、入れ子を「フラット化」する flatMap、そして Java 16+ のより効率的な代替である mapMulti の違いを解説します。実例を通して、入れ子のコレクションを Stream<String> の形に展開して、 Stream<Stream<String>> ではなく Stream<String> にする方法、 Optional を stream() で扱う方法、さらに中間ストリームを作らず性能面で有利なために mapMulti を選ぶべき場面を見ていきます。
    利用可能
  • join と concat メソッド: ストリームの結合

    JAVA 25 SELF
    レベル 32,レッスン 1
    この講義では、Stream API でデータを結合する方法を解説します。2 本のストリームに対する静的メソッド Stream.concat、任意個のストリームに対する Stream.of + flatMap の組み合わせ、そして要素を 1 本の文字列に連結する収集器 Collectors.joining を取り上げます。遅延評価、ストリームの一回性、順序の保持、典型的なミス(ストリームの再利用、無限ストリーム、 joining を非文字列に使うこと)も、見やすい例で説明します。
    利用可能
  • union、intersection、difference の操作

    JAVA 25 SELF
    レベル 32,レッスン 2
    この講義では、Java における代表的な集合操作を扱います。インターフェース Set および Stream API を使った和集合( union)、積集合( intersection)、差集合( difference)です。 Stream.concat、 Stream.of + flatMap の実用例、 retainAll/ removeAll による代替、さらに equals/ hashCode、パフォーマンス、よくあるミスに関する重要な注意点も示します。
    利用可能
  • zip(ジップ)、ストリーム生成(iterate, generate)

    JAVA 25 SELF
    レベル 32,レッスン 3
    この講義では、 zip とは何か、そして標準の Stream API(Java 22 以前)に zip がなぜ存在しないのかを解説し、 IntStream.range を使ってインデックス経由でコレクションを「縫い合わせ(zip)」、さらに Stream.iterate と Stream.generate によって「その場で」ストリームを生成する方法を学びます。サンプル、可視化、よくあるミスの解説により、生成と zip を自信をもって活用できるようになります。
    利用可能
  • ストリーム処理でありがちなエラーの解説

    JAVA 25 SELF
    レベル 32,レッスン 4
    Java の Stream API を扱う際によくあるミスをまとめた実践ガイド: ストリームの一回限りの性質と終端操作の重複実行( collect()、 forEach()、 count())、走査中のコレクション変更、無限ストリーム( iterate、 generate)での limit() の付け忘れ、 null の扱いと flatMap(Optional::stream) による Optional の処理、 forEachOrdered() による順序の保持、 Set を用いた効率的な集合演算、適切なリソースクローズ( Files.lines + try-with-resources)、 parallelStream() の注意点、そして「終端オペレーターが呼ばれるまで何も実行されない」という原則。各問題には分かりやすい例と修正案が付いています。
    利用可能
学ぶ
  • 登録
  • Javaコース
  • 課題のサポート
  • 料金
  • ゲームプロジェクト
  • Java構文
コミュニティ
  • ユーザー
  • 記事
  • フォーラム
  • チャット
  • 成功事例
  • アクティビティ
  • アフィリエイトプログラム
会社情報
  • 私たちについて
  • 連絡先
  • レビュー
  • プレスルーム
  • CodeGym for EDU
  • よくある質問
  • サポート
CodeGymCodeGym は、ゼロからJavaプログラミングを学ぶためのオンラインコースです。このコースは初心者がJavaを習得するのに最適です。即時検証付きの1200以上の課題と、Java基礎理論の必要な範囲を含みます。学習の成功を支援するために、クイズ、コーディングプロジェクト、効率的な学習に関するコンテンツ、Java開発者のキャリアに関する機能など、一連のモチベーション機能を導入しています。
フォローする
インターフェース言語
English Deutsch Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands
日本語
한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
「プログラマーは生まれるのではなく、育てられる」 © 2026 CodeGym
MastercardVisa
「プログラマーは生まれるのではなく、育てられる」 © 2026 CodeGym