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

レッスン

  • レビュー
  • 私たちについて
開始
学習開始
今すぐ学習を始める
  • 学習の進捗
  • コース
  • クエストマップ
  • レッスン
  • プリミティブストリームとボクシング(boxing)のコスト

    JAVA 25 SELF
    レベル 33,レッスン 0
    この講義では、数値コレクションの通常のストリーム( Stream<Integer>、 Stream<Double>)が、ボクシング/アンボクシング(boxing/unboxing)によって非効率になる理由と、プリミティブストリーム — IntStream、 LongStream、 DoubleStream — がそれをどう回避するかを解説します。 mapToInt/ boxed() のような変換、集約操作( sum()、 average()、 summaryStatistics())、 OptionalInt/ OptionalDouble による安全な結果の扱い、そして最適化が実際に効く場面と、その効果を JMH で測る方法も取り上げます。
    利用可能
  • Stream API における遅延評価(lazy evaluation)

    JAVA 25 SELF
    レベル 33,レッスン 1
    この講義では、 Stream API における遅延評価がどのように機能するかを解説します。中間操作と終端操作の違い、なぜ終端操作が呼び出されるまで計算が開始されないのか、要素ごとの処理や「短絡評価」による利点について説明します。 filter、 map、 peek、 findFirst、 forEach を使ったチェーンを示し、要素の流れを可視化し、典型的なミスと効率的な操作順の推奨事項を解説します。
    利用可能
  • 不変コレクション: Collections.unmodifiable

    JAVA 25 SELF
    レベル 33,レッスン 2
    この講義では、不変ラッパー Collections.unmodifiableList、 unmodifiableSet、 unmodifiableMap を使ってデータを保護する方法、「表面的」不変性と「深い」不変性の違い、メソッドからラッパーを返すべきタイミングと理由、さらに List.of/ Set.of/ Map.of といった現代的な代替について解説します。典型的なミス(たとえば深い不変性を期待してしまう、あるいは null を扱う)や、なぜ変更の試みが UnsupportedOperationException で失敗するのかについても説明します。
    利用可能
  • Spliterator と並列ストリーム

    JAVA 25 SELF
    レベル 33,レッスン 3
    この講義では、 Spliterator とは何か、要素を走査できるだけでなく trySplit() でデータソースを部分に分割できること、そしてそれを土台に parallelStream() と共有プール ForkJoinPool を使って並列ストリームがどのように動くかを解説します。主要メソッド( tryAdvance、 estimateSize、 characteristics)、代表的な特性( ORDERED、 SIZED、 CONCURRENT など)、実用的な例、Mermaid 図、そして並列ストリーム使用時のよくある落とし穴を示します。
    利用可能
  • 独自の Collector と Spliterator

    JAVA 25 SELF
    レベル 33,レッスン 4
    この講義では、Stream API 向けに Collector を使って独自のコレクタを実装する方法と、それが本当に妥当な場面、さらに効率的な逐次・並列データ走査のために独自の Spliterator を実装する方法を解説します。コレクタの構成要素( supplier、 accumulator、 combiner、 finisher、 characteristics)を段階的に確認し、マルチマップや Top-N の例、 trySplit の戦略、そして特性( ORDERED、 SIZED、 SUBSIZED など)の正しい設定についても扱います。
    利用可能
学ぶ
  • 登録
  • 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