ホームページ  >  記事  >  Java  >  Javaプログラミング言語におけるオブジェクトの収容について詳しく解説

Javaプログラミング言語におけるオブジェクトの収容について詳しく解説

黄舟
黄舟オリジナル
2017-09-19 10:05:36930ブラウズ

この記事は主に、Java プログラミングのアイデアにおけるオブジェクトの収容方法の全体的な紹介を提供します。必要な方はさらに学ぶことができます。

プログラムに固定数のオブジェクトのみが含まれており、その存在時間がわかっている場合、プログラムは非常に単純です。

配列

オブジェクトを収容する方法はたくさんありますが、配列は主に次の 2 つの特徴があります: 効率と型。 Java の場合、一連のオブジェクト (実際にはオブジェクトのハンドル) を保存してアクセスする最も効率的な方法は配列です。配列は実際には単純な線形シーケンスであるため、アクセス速度は非常に高速ですが、配列のサイズが固定されており、「存在時間」内に変更できないなど、いくつかの制限もあります。
基本的なデータ型で構成される配列の場合、その演算型はオブジェクト配列の演算型と似ていますが、前者はオブジェクトのハンドルではなく実際の値を格納するという点が異なります。

コレクション

プログラミングするとき、通常、保存する必要があるオブジェクトの数がわかりません。また、そのような問題を解決するために、Java はいくつかの「コレクション」を提供します。 「クラス」:Vector(ベクター)、BitSet(ビットセット)、Stack(スタック)、HashTable(ハッシュテーブル)。

コレクションの欠点: 型情報が失われます。実際に保持しているのは、Object 型のオブジェクトへのハンドルです。

列挙子 (反復子)

コレクションを使用してオブジェクトを保存し、それにアクセスします。コレクション内のオブジェクトの正確な型を事前に知っておく必要があります。そうしないと、使用中に例外が発生します。そしてイテレータはこの問題を解決できます。イテレータは、クライアント プログラマにそのシーケンスの基礎となる構造を知らせたり、注意を払わせたりすることなく、オブジェクトのシーケンスを反復処理し、そのシーケンス内の各オブジェクトを選択することを目的としたオブジェクトです。

Java の Enumeration は典型的なイテレータであり、主に次のことを行うために使用されます:

(1) Elements と呼ばれるメソッドを使用して、NextElements が初めて呼び出されたときにコレクションに Enumeration を提供するように要求します。 、この列挙はシーケンスの最初の要素を返します。

(2) NextElementsを使用して次のオブジェクトを取得します。

(3) HasMoreElements を使用して、さらにオブジェクトがあるかどうかを確認します。

コレクションの種類:

1. Vector

Vector クラスは、オブジェクトの拡張可能な配列を実装できます。配列と同様に、整数インデックスを使用してアクセスできるコンポーネントが含まれています。ただし、ベクターのサイズは、ベクターの作成後に追加または削除される項目に対応するために、必要に応じて拡大または縮小できます。

2. BitSet

BitSet は実際には「バイナリ ビット」で構成されるベクトルです。大量の「on-off」情報を効率よく保存したい場合は、BitSetを使用するとよいでしょう。ビット セットの各コンポーネントはブール値を持ちます。 BitSet のビットを非負の整数としてインデックス付けします。インデックス付きの各ビットはテスト、セット、またはクリアできます。論理 AND、論理 OR、および論理 XOR 演算を使用して、1 つの BitSet を使用して別の BitSet の内容を変更できます。 デフォルトでは、セット内のすべてのビットの初期値は false です。

3. スタック

スタックは、「後入れ先出し」コレクションとも呼ばれます。 Java の Stack クラスは Vector クラスを継承しており、Vector クラスを拡張して、ベクトルをスタックとして扱えるようにする 5 つの操作を実行します。通常のプッシュ操作とポップ操作に加え、スタックの頂点を取得するピーク メソッド、スタックが空かどうかをテストする空のメソッド、スタック内の項目を見つけて上部までの距離を決定する検索メソッドを提供します。スタックの。

4. HashTable

ハッシュテーブルは重要な保存方法であり、一般的な検索方法です。基本的な考え方は、関係コードの値を独立変数として使用し、特定の関数関係を通じて対応する関数値を計算し、この値をノードの記憶アドレスとして解釈し、ノードをそのノードに対応する記憶ユニットに格納することです。計算されたストレージアドレス。検索には検索キー方式を使用します。ハッシュ テーブルには、挿入、削除、競合解決のためのアルゴリズムの完全なセットが含まれるようになりました。 Java では、高速に取得できるようにオブジェクトを保存するためにハッシュ テーブルが使用されます。

概要

以上がJavaプログラミング言語におけるオブジェクトの収容について詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。