ホームページ  >  記事  >  Java  >  Java プログラミングにおけるベクター クラスの使用法に関する研究メモ

Java プログラミングにおけるベクター クラスの使用法に関する研究メモ

黄舟
黄舟オリジナル
2017-01-20 11:05:191656ブラウズ

Vector は通常、動的配列を実装するために使用されます。つまり、C++ と同様に、ベクター クラスも Java に組み込まれています。

java.util.vector は、動的配列と同様の関数を実装するためのベクトル クラス (vector) を提供します。 Java 言語にはポインタの概念はありませんが、ポインタを正しく柔軟に使用すれば、プログラムの品質は大幅に向上します。たとえば、C および C++ のいわゆる「動的配列」は、一般にポインターによって実装されます。この欠点を補うために、Java はプログラマが使いやすい豊富なクラス ライブラリを提供しており、vector クラスもその 1 つです。実際、配列を柔軟に使用することでベクター クラスの機能を完成させることもできますが、ベクター クラスは多数のメソッドを提供するため、ユーザーの使用が大幅に容易になります。
ベクター クラス オブジェクトを作成した後、ベクターの種類や容量を事前に選択することなく、異なるクラスのオブジェクトを自由に挿入でき、簡単に検索できます。配列サイズが不明であるか、事前に定義したくない場合で、頻繁な検索、挿入、削除が必要な場合。ベクター クラスの使用を検討してください。
Vector クラスは動的配列を実装します。 ArrayList に似ていますが、異なります:

Vector は同期的にアクセスされます。

Vector には、コレクション フレームワークの一部ではない従来のメソッドが多数含まれています。

Vector は主に配列のサイズが事前にわからない場合、または変更可能な配列が必要な場合に使用されます。

Vector クラスは 4 つの構築メソッドをサポートします。

1. 最初の構築メソッドは、デフォルト サイズ 10 のデフォルト ベクトルを作成します:

Vector()
2. 2 番目の構築メソッドは、指定されたサイズのベクトルを作成します。

Vector(int size)
3. 3 番目の構築方法は、指定されたサイズのベクトルを作成します。増分は、毎回ベクトルに追加される要素の数を表します。

Vector(int size,int incr)
4. 4 番目の構築方法は、コレクション c の要素を含むベクトルを作成します。

Vector(Collection c)

最初の方法を使用すると、システムは自動的にベクトルを管理します。後の 2 つの方法。実際に保存されるデータの数が容量を超えると、システムはパラメーターの初期容量に基づいてベクター オブジェクトの容量 (つまり、ベクター オブジェクトが保存できるデータのサイズ) を設定します。システムはベクトル オブジェクトのストレージ容量を拡張します。

パラメータcapacityincrementは、各拡張の拡張値を与えます。容量増加が 0 の場合、この機能を使用してストレージを最適化できます。ユーザーの使用を容易にするために、Vector クラスにはさまざまなメソッドが提供されています。

挿入関数:
(1) public Final synchronized void adddElement(Object obj)
obj をベクターの末尾に挿入します。 obj は任意のタイプのオブジェクトにすることができます。同じベクトル オブジェクトに対して、異なるタイプのオブジェクトを挿入することもできます。ただし、値の代わりにオブジェクトを挿入する必要があるため、値を挿入するときは、配列を対応するオブジェクトに変換することに注意してください。
例: 整数 1 を挿入する場合、v1.addElement(1) を直接呼び出さないでください。正しいメソッドは次のとおりです:

Vector v1 = new Vector(); 
Integer integer1 = new Integer(1); 
v1.addElement(integer1);

(2)public Final synchronized void setElementAt(Object obj,int index)
obj のインデックスにオブジェクトがある場合、元のオブジェクトは上書きされます。
(3)public Final synchronized void insertElement(Object obj,int Index)
indexで指定された位置にobjを挿入し、元のオブジェクト以降のオブジェクトを順に後回しにします。

削除関数:
(1)publicfinalsynchronizedvoidremoveElement(Objectobj)
obj がベクトルから削除される場合は、ベクトルの先頭から開始して、obj と同じである最初のベクトルメンバーを削除します。 。
(2)public Final synchronized void RemoveAllElement();
ベクター内のすべてのオブジェクトを削除する
(3)public fianl synchronized void RemoveElementAt(int Index)
index が指すオブジェクトを削除する

クエリ検索関数:
(1) publicfinal intindexOf(Object obj)
ベクトルの先頭から obj の検索を開始し、最初に見つかった obj に対応する添字を返します。
(2) publicfinal synchronized intindexOf( Object obj, int Index)
indexで表される添字からobjの検索を開始します
(3)publicfinal int lastindexOf(Object obj)
ベクトルの末尾から開始してobjを逆に検索します
(4)publicfinal synchronized int lastIndex( Object obj, int Index)
indexで表される添字からobjを末尾から先頭に逆方向に検索
(5)public Final synchronized firstElement()
Vectorオブジェクト内の最初のobjを取得する
(6) public last synchornized Object lastElement()
ベクター オブジェクトの最後の obj を取得します

Instance
次のプログラムは、このコレクションでサポートされているいくつかのメソッドを示しています:

import java.util.*;
 
public class VectorDemo {
 
  public static void main(String args[]) {
   // initial size is 3, increment is 2
   Vector v = new Vector(3, 2);
   System.out.println("Initial size: " + v.size());
   System.out.println("Initial capacity: " +
   v.capacity());
   v.addElement(new Integer(1));
   v.addElement(new Integer(2));
   v.addElement(new Integer(3));
   v.addElement(new Integer(4));
   System.out.println("Capacity after four additions: " +
     v.capacity());
 
   v.addElement(new Double(5.45));
   System.out.println("Current capacity: " +
   v.capacity());
   v.addElement(new Double(6.08));
   v.addElement(new Integer(7));
   System.out.println("Current capacity: " +
   v.capacity());
   v.addElement(new Float(9.4));
   v.addElement(new Integer(10));
   System.out.println("Current capacity: " +
   v.capacity());
   v.addElement(new Integer(11));
   v.addElement(new Integer(12));
   System.out.println("First element: " +
     (Integer)v.firstElement());
   System.out.println("Last element: " +
     (Integer)v.lastElement());
   if(v.contains(new Integer(3)))
     System.out.println("Vector contains 3.");
   // enumerate the elements in the vector.
   Enumeration vEnum = v.elements();
   System.out.println("\nElements in vector:");
   while(vEnum.hasMoreElements())
     System.out.print(vEnum.nextElement() + " ");
   System.out.println();
  }
}

上記のコンパイル例と実行結果は次のとおりです:

Initial size: 0
Initial capacity: 3
Capacity after four additions: 5
Current capacity: 5
Current capacity: 7
Current capacity: 9
First element: 1
Last element: 12
Vector contains 3.
 
Elements in vector:
1 2 3 4 5.45 6.08 7 9.4 10 11 12

上記Java プログラミングにおけるベクター クラスの使用法です。学習ノートの内容については、PHP 中国語 Web サイト (www.php.cn) に関連したコンテンツをご覧ください。


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