Java-data-structures

提供:Dev Guides
移動先:案内検索

Java-データ構造

Javaユーティリティパッケージによって提供されるデータ構造は非常に強力で、さまざまな機能を実行します。 これらのデータ構造は、次のインターフェイスとクラスで構成されています-

  • 列挙
  • BitSet
  • ベクター
  • スタック
  • 辞書
  • ハッシュ表
  • プロパティ

これらのクラスはすべてレガシーになり、Java-2はCollections Frameworkと呼ばれる新しいフレームワークを導入しました。これについては次の章で説明します。 −

列挙

Enumerationインターフェイス自体はデータ構造ではありませんが、他のデータ構造のコンテキスト内では非常に重要です。 Enumerationインターフェイスは、データ構造から連続した要素を取得する手段を定義します。

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

このインターフェースの詳細については、リンク:/java/java_enumeration_interface [The Enumeration]を確認してください。

BitSet

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

このクラスは、一連のブール値に対応する必要がある場合に非常に役立ちます。各値にビットを割り当て、必要に応じて設定またはクリアするだけです。

このクラスの詳細については、リンク:/java/java_bitset_class [The BitSet]を確認してください。

ベクトル

Vectorクラスは、新しい要素に対応するために必要に応じて拡張できることを除いて、従来のJava配列に似ています。

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

Vectorクラスを使用する利点は、作成時に特定のサイズに設定することを心配する必要がないことです。必要に応じて自動的に縮小および拡大します。

このクラスの詳細については、リンク:/java/java_vector_class [The Vector]を確認してください。

スタック

Stackクラスは、要素の先入れ先出し(LIFO)スタックを実装します。

スタックは、文字通りオブジェクトの垂直スタックと考えることができます。新しい要素を追加すると、他の要素の上に積み重ねられます。

スタックから要素を引き出すと、要素は一番上から外れます。 つまり、スタックに追加した最後の要素が、最初に戻ってくる要素です。

このクラスの詳細については、リンク:/java/java_stack_class [The Stack]を確認してください。

辞書

Dictionaryクラスは、キーを値にマッピングするためのデータ構造を定義する抽象クラスです。

これは、整数インデックスではなく特定のキーを介してデータにアクセスできるようにする場合に役立ちます。

Dictionaryクラスは抽象的であるため、特定の実装ではなく、キーマップデータ構造のフレームワークのみを提供します。

このクラスの詳細については、リンク:/java/java_dictionary_class [The Dictionary]を確認してください。

ハッシュテーブル

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

たとえば、アドレス一覧のハッシュテーブルでは、人の名前ではなく郵便番号などのキーに基づいてデータを保存および並べ替えることができます。

ハッシュテーブルに関するキーの特定の意味は、ハッシュテーブルとそれに含まれるデータの使用法に完全に依存します。

このクラスの詳細については、リンク:/java/java_hashtable_class [The Hashtable]を確認してください。

プロパティ

プロパティはHashtableのサブクラスです。 キーが文字列で、値も文字列である値のリストを維持するために使用されます。

Propertiesクラスは、他の多くのJavaクラスで使用されます。 たとえば、環境値を取得するときにSystem.getProperties()によって返されるオブジェクトのタイプです。

このクラスの詳細については、リンク:/java/java_properties_class [The Properties]を確認してください。