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

レッスン

  • レビュー
  • 私たちについて
開始
学習開始
今すぐ学習を始める
  • 学習の進捗
  • コース
  • クエストマップ
  • レッスン
  • List.of, Set.of, Map.of — 不変コレクション

    JAVA 25 SELF
    レベル 34,レッスン 0
    本講義では Java 9+ の不変コレクションを解説します: ファクトリメソッド List.of、 Set.of、 Map.of および Map.ofEntries。 Collections.unmodifiableList のラッパーと比較し、制約(変更不可、 null 禁止、Set の重複と Map のキー重複の禁止)、要素の順序、パフォーマンスを議論します。さらに、 Map.of のペアは 10 組までという制限や、代表的な例外 UnsupportedOperationException、 NullPointerException、 IllegalArgumentException も確認します。加えて、これらのコレクションが設計を簡素化し、読み取りのスレッドセーフ性を高める実用例も紹介します。
    利用可能
  • Map.copyOf、Set.copyOf とその他のユーティリティ

    JAVA 25 SELF
    レベル 34,レッスン 1
    この講義では、Java 10 で導入されたコレクションの不変コピーである List.copyOf、 Set.copyOf、 Map.copyOf を解説します。これらが Collections.unmodifiable* のラッパーとどう違うのか、どのような制約があるのか( null の禁止、不変性)、同じオブジェクトが返されるケース、そして具体的な実装に依存してはいけない理由を学びます。実用的な利用シナリオと典型的なミスも示し、 Map.of と Map.ofEntries の取り違えも含めて説明します。
    利用可能
  • CopyOnWrite コレクション、unmodifiable ラッパー

    JAVA 25 SELF
    レベル 34,レッスン 2
    この講義ではコレクションを「保護」する2つのアプローチを扱います: Collections.unmodifiable* による不変ラッパーと、 List.of/ Set.of/ Map.of のファクトリーメソッド。さらに、 java.util.concurrent パッケージのスレッドセーフな CopyOnWriteArrayList と CopyOnWriteArraySet も取り上げます。ラッパーと真の不変性の違い、CopyOnWrite 構造が役立つ場面、そして実務でよくある誤りを理解しましょう。
    利用可能
  • Mutable と Immutable のコレクション: 違いと使い分け

    JAVA 25 SELF
    レベル 34,レッスン 3
    この講義では、Java における可変(mutable)コレクションと不変(immutable)コレクションの違いを解説します。いつ ArrayList/ HashSet を選ぶべきか、そしていつ Java 9+ のファクトリーコレクション( List.of、 Set.of、 Map.of)や copyOf によるコピーを使うべきか。安全性、スレッドセーフティ、デバッグのしやすさ、 Collections.unmodifiableList ラッパーの落とし穴と実用的な使用例、さらに典型的なミスとその回避方法を取り上げます。
    利用可能
  • 新しいコレクション: SequencedCollection, SequencedSet, SequencedMap

    JAVA 25 SELF
    レベル 34,レッスン 4
    Java 21 で順序付きコレクションのインターフェース — SequencedCollection、 SequencedSet、 SequencedMap が導入されました。これらは要素の順序を扱うための統一的な契約を追加し、先頭/末尾要素への高速アクセスや reversed() による逆順ビューを提供します。本講義では、どの標準コレクションが既に実装しているか、どんなメソッドが追加されたか、実際のコードでの活用方法に加え、ありがちなミスや使用上の注意点を解説します。
    利用可能
学ぶ
  • 登録
  • 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