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

レッスン

  • レビュー
  • 私たちについて
開始
学習開始
今すぐ学習を始める
  • 学習の進捗
  • コース
  • クエストマップ
  • レッスン
  • equals と hashCode の契約

    JAVA 25 SELF
    レベル 29,レッスン 0
    この講義では、Java におけるオブジェクトの正しい等価判定について解説します。演算子 == による参照(アドレス)の比較と、メソッド equals による内容の比較の違い、さらに equals/ hashCode の契約が HashSet や HashMap のようなコレクションにとってなぜ重要か、そして Comparable の compareTo との関係を扱います。ステップごとの例、ベストプラクティス、よくあるミスの解説により、ハッシュテーブルやソート可能なコレクションを扱う際の落とし穴を避けられるようになります。
    利用可能
  • Objects クラス: equals、hashCode、hash のメソッド

    JAVA 25 SELF
    レベル 29,レッスン 1
    この講義では「スイスアーミーナイフ」 java.util.Objects を取り上げます。 Objects.equals で安全に比較し、 Objects.hash でハッシュを簡潔に算出し、 Objects.compare で比較を委譲し、 Objects.requireNonNull で非 null を保証し、さらにストリームで Objects.isNull/ Objects.nonNull を活用する方法を説明します。 equals/ hashCode/ compareTo の正しい実装を示し、実践的なケースや、 HashMap/ HashSet を扱う際の典型的な誤りも解説します。
    利用可能
  • Comparable インターフェイス: 実装と compareTo

    JAVA 25 SELF
    レベル 29,レッスン 2
    この講義では、Java のインターフェイス Comparable とメソッド compareTo を通じてオブジェクトの自然順序を解説します。何のために必要なのか、正しい実装方法、コレクションのソート( Collections.sort と List.sort)がどう動くか、複数フィールドでの比較、 null 値の扱い、 equals/ hashCode との一貫性などを取り上げます。さらに、ベストプラクティス、よくある誤り、 Person クラスを用いた実用的な例も見ていきます。
    利用可能
  • Comparator インターフェイス: 作成と使用

    JAVA 25 SELF
    レベル 29,レッスン 3
    この講義では、Comparable の代わりにいつ Comparator を使うべきか、メソッド compare(T o1, T o2) の構文と契約、 Collections.sort や List.sort を使ったリストのソート実践、Comparator を独立クラス・匿名クラス・ラムダ式で作成する方法を解説します。多段ソート、 null 値の扱い、 Collections.binarySearch による検索、 reversed() での順序反転、さらにベストプラクティスと典型的な落とし穴(たとえば a - b ではなく Integer.compare を使うべき理由)も取り上げます。
    利用可能
  • Java のコレクションにおける要素の検索とソート

    JAVA 25 SELF
    レベル 29,レッスン 4
    この講義では、コレクション操作の実践的なテクニックを扱います。 contains、 indexOf、 lastIndexOf による要素検索、ループ for と演算子 break を使った条件付き検索、クラス Collections による最小値・最大値の取得。 Collections.sort と List.sort を用いたリストのソート、 Comparator の活用、 Map のペアの並べ替え、さらにオブジェクトをフィールドでソートする方法を練習します。最後に、 List.of による不変リスト、 Set/ Map をソートしようとする試み、不適切なコンパレータといった典型的なミスについても議論します。
    利用可能
  • Stream API 入門:なぜストリームが必要か

    JAVA 25 SELF
    レベル 30,レッスン 0
    この講義では、コレクション処理における命令的アプローチがなぜすぐにボイラープレートだらけになるのか、そして Stream API がコードを宣言的スタイルへと導く方法を解説します。操作チェーン filter、 map、 collect、簡単な合成、エラーの減少、そして parallelStream() による手軽な並列化。適用分野、誕生の経緯、避けるべき典型的なミスも紹介します。
    利用可能
  • Stream API の基本操作: map, filter, collect

    JAVA 25 SELF
    レベル 30,レッスン 1
    Stream API の基本操作をステップごとに解説します。コレクションや配列からストリームを取得する方法( stream()、 Arrays.stream、 Stream.of)、中間操作( filter、 map、 distinct)と終端操作( collect、 forEach、 count)の違い、そして Collectors( toList、 toSet、 joining)で結果を集約する方法。実用的な例、ミニ課題、よくあるミスのセクションによって、パイプライン型のデータ処理を素早く習得できます。
    利用可能
  • Stream API のサブセット: distinct, limit, skip

    JAVA 25 SELF
    レベル 30,レッスン 2
    この講義では、データのサブセットを扱うための Stream API の3つの主要な操作 distinct(重複の削除)、 limit(要素数の制限)、 skip(先頭要素のスキップ)を解説します。文字列やオブジェクトのコレクションでの動作、 equals/ hashCode の実装が distinct の結果に与える影響、ページネーションや Top-N 抽出のための組み合わせ方、そしてよくあるミスについて学びます。
    利用可能
  • forEach と peek メソッド:副作用

    JAVA 25 SELF
    レベル 30,レッスン 3
    本講義では、副作用のためのストリーム操作について解説します。終端操作の forEach と中間操作の peek です。いつ・なぜ使うのか、両者の違い、なぜ forEach の後はストリームが「閉じる」のか、そして peek はデータを変えず終端操作がある場合にのみ実行されることを理解します。実用例を示し、見落としがちな点や典型的なミス( ConcurrentModificationException や collect を forEach に置き換えてしまう誤用など)も扱います。
    利用可能
  • Stream を使ったコレクション変換

    JAVA 25 SELF
    レベル 30,レッスン 4
    Stream API を使ってコレクションを変換する実践ガイド: List ↔ Set の変換、 Collectors.toMap() によるマップ作成(重複の処理を含む)、 Collectors.joining() での文字列連結、終端/中間操作の理解( forEach、 collect、 count、 anyMatch など)。中では、わかりやすい例、説明、そして典型的なエラーも扱います。
    利用可能
  • Stream API における sum、count、average、max、min のメソッド

    JAVA 25 SELF
    レベル 31,レッスン 0
    この講義では Stream API の集約(アグリゲーション)操作を解説します。 count()で件数を数える方法、プリミティブ・ストリーム( IntStream、 LongStream、 DoubleStream)と sum()、 average()で合計や平均を計算する方法、さらに min()/ max()で極値を求める方法を扱います。あわせて、コンテナ Optional、 OptionalInt、 OptionalLong、 OptionalDoubleと、値の取り出し方( orElse(...)、 ifPresent(...)、 orElseThrow())を説明します。さらに、コレクター Collectors.summingInt、 Collectors.averagingInt、 Collectors.maxBy/ minByを groupingByと組み合わせて使う方法も学びます。最後に、よくあるミスと注意点を取り上げます。
    利用可能
  • reduce と collect のメソッド:データの集約

    JAVA 25 SELF
    レベル 31,レッスン 1
    ストリームの終端操作である汎用的な畳み込み reduce() と強力な収集メソッド collect() を解説します。 identity、 accumulator、 combiner を含むシグネチャを理解し、 Collectors に用意されたコレクタ( toList()、 toMap()、 joining()、 groupingBy())でデータを集める方法を学びます。また、どの場面で collect() を reduce() より優先すべきかも見ていきます。さらに、 Optional の扱い、 toMap() における重複処理、並列ストリームの注意点についても取り上げます。
    利用可能
  • 1
  • ...
  • 13
  • 14
  • 15
  • 16
  • 17
  • ...
  • 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