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

レッスン

  • レビュー
  • 私たちについて
開始
学習開始
今すぐ学習を始める
  • 学習の進捗
  • コース
  • クエストマップ
  • レッスン
  • コレクションとストリームにおけるラムダの活用

    JAVA 25 SELF
    レベル 48,レッスン 1
    コレクションと Stream API におけるラムダ式の実践: 匿名クラスを簡潔なラムダに置き換える方法、コレクションのメソッド( forEach、 removeIf、 sort、 replaceAll)の使い方、そしてデータ処理パイプライン( stream → filter → map → sorted → collect)の構築。匿名クラスとの比較、「実質的に final」な変数についての解説、主要な操作の一覧表、そして典型的なミスも取り上げます。
    利用可能
  • ラムダ式の利点と欠点

    JAVA 25 SELF
    レベル 48,レッスン 2
    この講義では、Java がラムダ式を導入した理由を解説します。すなわち、簡潔さと可読性、振る舞いをパラメータとして渡せること、コレクションや Stream API( filter、 map、 forEach)との統合、「実質的に」 final な変数のキャプチャ、演算子 -> によるコールバックの書きやすさなどです。並行して、落とし穴も扱います: 長いチェーンのデバッグ、オーバーロードの曖昧さ( Runnable vs Callable)、クロージャの制約、シリアライズ、ネストしたラムダ。最後に—いつラムダを使うべきか、そして典型的なミスの解説と実践的な指針を示します。
    利用可能
  • Java におけるクロージャ(closures)の特徴

    JAVA 25 SELF
    レベル 48,レッスン 3
    この講義では、クロージャとは何か、そして Java でどのように機能するかを解説します。具体的には、ラムダ式や無名クラスが外側の変数をどのように「キャプチャ」するのか、なぜローカル変数は final または実質的に final でなければならないのか、ローカル変数のキャプチャとクラスのフィールドへのアクセスの違い、そして this がラムダ式と無名クラスでどのように振る舞うのかを扱います。さらに、 IntSupplier を使った関数ファクトリ、キャプチャの内部実装、そして典型的な誤り(たとえばコンパイラのメッセージ Variable used in lambda expression should be final or effectively final)も取り上げます。
    利用可能
  • 無名クラス: ラムダとの違いと例

    JAVA 25 SELF
    レベル 48,レッスン 4
    この講義では、Java の無名クラスとは何か、ラムダ式とどう違うのかを解説します。構文、できること(フィールド、追加メソッド、 toString/ equals のオーバーライド)、スコープと this の振る舞い、変数キャプチャ( final/「実質的 final」のみ)を扱います。 Runnable、 Comparator、 Predicate を使った実用例も示し、いつラムダを選び、いつ無名クラスを選ぶべきかの指針を示します。
    利用可能
  • 関数型インターフェイス: Predicate, Consumer, Supplier, Function

    JAVA 25 SELF
    レベル 49,レッスン 0
    java.util.function パッケージに含まれる主要な関数型インターフェイス、 Predicate、 Consumer、 Supplier、 Function を解説します。何を受け取り/何を返すのか、そして Stream API( filter、 map、 forEach、 generate)でどこで使われるのかを見ていきます。「抽象メソッドはちょうど1つ」というルールとアノテーション @FunctionalInterface を思い出し、ラムダを書き、無名クラスと比較し、 User クラスの例で練習し、 Predicate/ Function などの選択で起こりがちなミスを取り上げます。
    利用可能
  • 関数合成: compose と andThen

    JAVA 25 SELF
    レベル 49,レッスン 1
    この講義では、 Function とそのメソッド compose および andThen を使って、小さな関数から変換のパイプラインを組み立てる方法を扱います。適用順序、型の互換性、 Predicate( and、 or、 negate)、 Consumer( andThen)の例を取り上げ、実践的なパイプラインを構築し、ありがちなミスについても議論します: 順序の取り違え( f.compose(g) と f.andThen(g))、型不一致、チェーンが「スパゲッティ」になる問題。 apply、 test、 accept を使い、可読性が高く再利用可能な変換を作れるようになります。
    利用可能
  • 関数をパラメータとして渡す: 例

    JAVA 25 SELF
    レベル 49,レッスン 2
    Java における振る舞いの受け渡しの実践的な入門: ラムダ式 ( ->) とメソッド参照 ( ::) を Stream API やコレクションと組み合わせて使う方法を説明します。 java.util.function にある標準的な関数型インターフェース — Comparator, Predicate, Function, Consumer, Supplier — を取り上げ、汎用メソッドの書き方、振る舞いをパラメータとして受け取る方法、そして典型的なミスの回避を学びます。さらに、 Stream、 Optional、独自のリスト処理ユーティリティを使った例で練習します。
    利用可能
  • Stream API による関数型スタイル

    JAVA 25 SELF
    レベル 49,レッスン 3
    命令的なループから、 Stream API を使った宣言的なデータ処理パイプラインへ移行します。中間操作と終端操作、遅延評価、 toList()/ collect による結果の収集、主要な操作 map、 filter、 sorted、 flatMap、 reduce、さらに anyMatch/ allMatch/ noneMatch の判定を解説します。命令型と関数型スタイルを比較し、実用的な例と典型的な誤りも取り上げます。コレクションを集めるのに不適切な forEach や、早すぎる parallelStream() の使用も含みます。
    利用可能
  • 関数型プログラミングにおけるエラーの解説

    JAVA 25 SELF
    レベル 49,レッスン 4
    Java のラムダと Stream API でよくあるミス10選: 変数キャプチャ ( final/ effectively final)、ラムダにおける this の挙動、副作用と並列処理 ( parallelStream())、型推論と generics、 null と Optional の扱い、関数合成 ( compose/ andThen)、およびチェック例外(例: IOException)。安全な作法も紹介します: Objects::nonNull によるフィルタ、終端操作 ( sum(), collect(...))、スレッドセーフなコレクション、そして長いチェーンの分解。
    利用可能
  • リスナー (Listeners) とイベントインターフェース

    JAVA 25 SELF
    レベル 50,レッスン 0
    Java のイベントモデルの仕組みはこうです: 発行元がイベントを生成し、登録済みのリスナーが通知を受け取り反応します。Swing にある主要なリスナーインターフェース — ActionListener、 MouseListener、 KeyListener、 ChangeListener、 DocumentListener — を取り上げ、 addActionListener でハンドラを登録し、 actionPerformed メソッドを実装する方法を示します。 JButton/ JFrame にリスナーを接続する練習をし、匿名クラスとラムダ式を比較し、ありがちなミスと実践的なヒントも解説します。
    利用可能
  • Swing と AWT のイベント:基礎と例

    JAVA 25 SELF
    レベル 50,レッスン 1
    AWT/Swing のイベントモデルへの実践的な短い入門。ボタン JButton を作成し、 addActionListener でリスナーを登録し、 actionPerformed で処理します。匿名クラスとラムダ式、よく使われるリスナー( MouseListener/ MouseAdapter、 KeyAdapter、 DocumentListener)を解説し、 JFrame、 JButton、 JLabel を使ったミニアプリを書きます。呼び出し順やありがちなミス(ハンドラ内の重い処理、ラムダにおける変数の final 制約、 addActionListener の付け忘れ、リスナーの削除、 SwingWorker の利用)も確認します。
    利用可能
  • 独自イベントの設計と処理

    JAVA 25 SELF
    レベル 50,レッスン 2
    この講義では、Java で独自イベントを設計する方法を解説します: java.util.EventObject をベースにイベントクラスを作成し、 java.util.EventListener でリスナーインターフェースを定義し、購読/購読解除( add...Listener/ remove...Listener)と通知( fire...)の仕組みを追加します。 DataLoader とカウンターの例で実践を見て、匿名クラスやラムダ式でのハンドラーを扱い、さらに典型的なミス(リスナー内の例外、メモリリーク、 ConcurrentModificationException)も解説します。
    利用可能
  • 1
  • ...
  • 21
  • 22
  • 23
  • 24
  • 25
  • ...
  • 30
学ぶ
  • 登録
  • 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