Java API では、
Vector は AbstractList のサブクラスであり、Stack は Vector のサブクラスです。 Java Collections Framework は Java 2 で導入されました。以前は、Vector クラスや Stack クラスなど、いくつかのデータ構造がサポートされていました。これらのクラスは Java Collections Framework に適合するように再設計されましたが、古いスタイルのメソッドはすべて
に保持されています。
互換性。
Vector は、ベクトルにアクセスして変更するための同期メソッドが含まれていることを除いて、ArrayList と同じです。同期メソッドは、ベクトルが 2 つ以上のスレッドによって同時にアクセスおよび変更された場合に、データの破損を防ぐことができます。同期を必要としない多くのアプリケーションでは、Vector. を使用するよりも ArrayList
を使用する方が効率的です。Vector クラスは AbstractList クラスを拡張します。また、以下の図に示すように、Java 2 より前に定義された元の Vector クラスに含まれるメソッドも含まれています。
上の図の UML 図にリストされているVector クラスのメソッドのほとんどは、List インターフェイスのメソッドと似ています。これらのメソッドは、Java Collections Framework より前に導入されました。たとえば、addElement(Object element) は、addElement メソッドが同期されることを除いて、add(Object element) メソッドと同じです。同期が必要ない場合は、ArrayList クラスを使用します。 Vector よりもはるかに高速に動作します。
elements() メソッドは Enumeration を返します。 Enumeration インターフェイスは Java 2 より前に導入され、Iterator インターフェイスに置き換えられました。 Vector は、Java 2 より前の Java のサイズ変更可能な配列実装であったため、Java レガシー コードで広く使用されています。
Java Collections Framework では、次の図に示すように、Stack は Vector の拡張機能として実装されます。
Stack クラスは Java 2 より前に導入されました。上の図に示されているメソッドは Java 2 より前に使用されていました。empty() メソッドは isEmpty と同じです()。 peek() メソッドは、スタックの最上位にある要素を削除せずに調べます。 pop() メソッドは、スタックから最上位の要素を削除してそれを返します。 push(Object element) メソッドは、指定された要素をスタックに追加します。 search(Object element) メソッドは、指定された要素がスタック内にあるかどうかを確認します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3