Java中級

中級 Javaで学ぶデータ構造|練習問題編

導入

データ構造は、プログラミングにおいて非常に重要な要素です。特に、業務システムではデータの効率的な管理と操作が求められます。今回の練習問題編では、Javaを用いてデータ構造の実践的な理解を深めることを目的とします。具体的には、リストやマップを用いたデータの管理方法に焦点を当て、実際のシナリオで役立つテクニックを学びます。

教科書レベルの解説(データ構造)

重要な概念の整理

データ構造は、データを整理し、効率的にアクセスするための方法です。リスト、スタック、キュー、ツリー、グラフなど、様々なデータ構造が存在します。中でも、リストとマップは日常的に使用される基本的なデータ構造です。リストは順序付きのデータを管理するのに対し、マップはキーとバリューのペアでデータを管理します。

コード例(Java)


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class DataStructureExample {
    public static void main(String[] args) {
        // リストの作成
        List fruits = new ArrayList<>();
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Cherry");

        // マップの作成
        Map fruitQuantities = new HashMap<>();
        fruitQuantities.put("Apple", 5);
        fruitQuantities.put("Banana", 10);
        fruitQuantities.put("Cherry", 7);

        // リストの表示
        System.out.println("Fruits: " + fruits);

        // マップの表示
        for (String fruit : fruitQuantities.keySet()) {
            System.out.println(fruit + ": " + fruitQuantities.get(fruit));
        }
    }
}

コードの行ごとの解説

  1. 最初に必要なクラスをインポートします。ArrayListとHashMapはJavaのコレクションフレームワークの一部です。
  2. メインメソッドを定義し、プログラムのエントリーポイントとします。
  3. リストを作成し、いくつかの果物を追加します。これにより、順序付きのデータを管理します。
  4. マップを作成し、果物の名前をキー、数量をバリューとして格納します。これにより、特定の果物の数量を迅速に取得できます。
  5. リストの内容を表示します。これにより、果物の名前が出力されます。
  6. マップの内容をループで表示し、各果物の数量を出力します。

練習問題編

以下の練習問題に挑戦し、データ構造の理解を深めましょう。

  1. リストを使用して、整数の配列から重複を除去するメソッドを作成してください。
  2. マップを使用して、与えられた文字列内の各文字の出現回数をカウントするプログラムを作成してください。
  3. リストを用いて、整数の昇順にソートされたリストを返すメソッドを作成してください。
  4. マップを使用して、2つのリストの共通要素を見つけるメソッドを作成してください。
  5. リストを使用して、与えられた整数がリストに含まれているかどうかを判定するメソッドを作成してください。

まとめ

  • リストやマップを使ったデータ管理の基本を理解しました。
  • 実際の業務シナリオにおいて、これらのデータ構造を適切に活用する方法を学びました。
  • 練習問題を通じて、実践的なスキルを向上させることができます。