Java データ構造


Java ツールキットは強力なデータ構造を提供します。 Java のデータ構造には主に次のインターフェイスとクラスが含まれます:

  • 列挙

  • ビットセット (BitSet)

  • ベクトル (ベクトル)

  • スタック

  • 辞書

  • ハッシュテーブル

  • プロパティ (プロパティ)

上記のクラスは従来のレガシーであり、新しいフレームワークであるコレクション フレームワーク (コレクション) が Java2 で導入されました。これについては後で説明します。


Enumeration

Enumeration インターフェイス自体はデータ構造ではありませんが、他のデータ構造で広く使用されています。 Enumeration インターフェイスは、データ構造から連続した要素を取得する方法を定義します。

たとえば、列挙は、複数の要素を含むデータ構造の次の要素を取得するために使用される nextElement と呼ばれるメソッドを定義します。

列挙インターフェイスの詳細については、「列挙」を参照してください。


BitSet

BitSet クラスは、個別に設定およびクリアできるビットまたはフラグのセットを実装します。

このクラスは、ブール値のセットを扱う場合に非常に便利です。各値に「ビット」を割り当て、そのビットを適切に設定またはクリアしてブール値を操作するだけです。

このクラスの詳細については、「BitSet」を参照してください。


Vector

Vector クラスは従来の配列に非常に似ていますが、Vector のサイズは必要に応じて動的に変更できます。

配列と同様に、Vector オブジェクトの要素にもインデックスを介してアクセスできます。

Vector クラスを使用する主な利点は、オブジェクトの作成時にオブジェクトのサイズを指定する必要がなく、必要に応じてそのサイズが動的に変更されることです。

このクラスの詳細については、「Vector」を参照してください。


スタック

スタックは、後入れ先出し (LIFO) データ構造を実装します。

スタックは、垂直方向に分散されたオブジェクトのスタックと考えることができます。新しい要素を追加するときは、その新しい要素を他の要素の上に配置します。

スタックから要素を取得するときは、スタックの一番上から要素を取得します。言い換えれば、スタックにプッシュされた最後の要素が最初に取り出されます。

このクラスの詳細については、「スタック」を参照してください。


Dictionary (辞書)

Dictionary (辞書) クラスは、キーを値にマップするデータ構造を定義する抽象クラスです。

Dictionary は、整数インデックスではなく特定のキーによってデータにアクセスする場合に使用する必要があります。

Dictionary クラスは抽象クラスであるため、特定の実装は提供せず、キーを値にマッピングするデータ構造のみを提供します。

このクラスの詳細については、「辞書」を参照してください。


Hashtable

Hashtable クラスは、ユーザー定義のキー構造に基づいてデータを整理する手段を提供します。

たとえば、住所リストのハッシュ テーブルでは、人名ではなく郵便番号をキーとしてデータを保存し、並べ替えることができます。

ハッシュ テーブル キーの具体的な意味は、ハッシュ テーブルの使用シナリオとそれに含まれるデータに完全に依存します。

このクラスの詳細については、「HashTable」を参照してください。


Properties

Properties は Hashtable.Properties クラスを継承し、プロパティ リスト内の各キーとそれに対応する値を文字列として表します。

Properties クラスは多くの Java クラスで使用されます。例えば、環境変数を取得する場合、System.getProperties()メソッドの戻り値として使用されます。

このクラスの詳細については、「プロパティ」を参照してください。