Java.util.vectorは、動的配列のような関数を実装するためのベクトルクラス(ベクトル)を提供します。 Java言語ではポインターの概念はありませんが、ポインターを正しく柔軟に使用すると、プログラムの品質を大幅に向上させることができます。たとえば、CおよびC ++のいわゆる「動的配列」は、一般にポインターによって実装されます。この欠点を補うために、Javaはプログラマーが使いやすい豊富なクラスライブラリを提供し、Vectorクラスもその1つです。実際、配列を使用する柔軟性は、ベクトルクラスの機能を完了することもできますが、ベクタークラスで提供される多数の方法は、ユーザーの使用を大幅に容易にします。
ベクトルクラスのオブジェクトを作成した後、さまざまなクラスのオブジェクトを自由に挿入できます。つまり、事前に選択されたベクトルのタイプまたは容量を考慮する必要はなく、簡単に検索できます。あなたが知らない、または事前に定義された配列サイズを望んでいない状況の場合、および作業を頻繁に検索、挿入、削除する必要があります。ベクトルクラスの使用を検討できます。
ベクトルクラスは動的配列を実装します。 ArrayListに似ていますが、2つは異なります。
ベクトルクラスは4つの建設方法をサポートしています。
1.最初のコンストラクターは、デフォルトサイズが10のデフォルトベクトルを作成します。
ベクター()
2. 2番目の構造方法は、指定されたサイズのベクトルを作成します。
ベクトル(intサイズ)
3. 3番目の構造方法により、指定されたサイズのベクトルが作成され、増分は刻みで指定されます。増分は、ベクトルが毎回増加する要素の数を表します。
ベクトル(intサイズ、int刻)
4. 4番目のコンストラクターは、設定されたC要素を含むベクトルを作成します。
ベクター(コレクションC)
システムは、後者の2つの方法が使用されている場合、最初の方法を使用してベクトルを自動的に管理します。システムは、パラメーターに従って、および実際に保存されているデータの数が容量を超える場合、ベクトルオブジェクトの容量(つまり、ベクトルオブジェクトが保存できるデータのサイズ)を設定します。システムは、ベクトルオブジェクトのストレージ容量を拡張します。
パラメーター容量装備は、各拡張の拡張値を提供します。容量インクリメントが0の場合、拡張は2倍になりません。この関数は、ストレージを最適化するために使用できます。ユーザーの使用を容易にするために、Vectorクラスでさまざまな方法が提供されています。
関数を挿入:
(1)パブリックファイナル同期void adddelement(オブジェクトobj)
objをベクトルの尾に挿入します。 OBJは、あらゆる種類のオブジェクトにすることができます。同じベクトルオブジェクトの場合、異なるタイプのオブジェクトを挿入することもできます。ただし、挿入物は数値ではなくオブジェクトである必要があるため、数値を挿入する場合は、配列を対応するオブジェクトに変換することに注意する必要があります。
たとえば、整数1を挿入する場合、v1.addelement(1)を呼び出しないでください。正しい方法は次のとおりです。
Vector v1 = new Vector(); integer integer1 = new Integer(1); v1.addelement(integer1);
(2)パブリックファイナル同期Void setelementat(Object obj、int index)
インデックスにオブジェクトをOBJに設定すると、元のオブジェクトが上書きされます。
(3)パブリックファイナル同期void insertelement(オブジェクトobj、intインデックス)
インデックスで指定された位置にOBJを挿入すると、元のオブジェクトと後続のオブジェクトが順番に延期されます。
関数の削除:
(1)パブリックファイナル同期void remofelement(オブジェクトobj)
ベクトルからOBJを削除します。複数の存在がある場合は、ベクトルヘッダーから始めて、OBJと同じで見つかった最初のベクトルメンバーを削除します。
(2)パブリックファイナル同期void remodedalement();
ベクトル内のすべてのオブジェクトを削除します
(3)public fianl同期void remodelementat(int index)
インデックスが指す場所を削除します
クエリ検索機能:
(1)パブリックファイナルインデックス(オブジェクトOBJ)
VectorヘッダーからOBJの検索を開始し、最初のOBJに対応する添え字を返します。このOBJが存在しない場合は、-1を返します。
(2)パブリックファイナル同期INTインデックス(オブジェクトOBJ、intインデックス)
インデックスで示されたインデックスからOBJの検索を開始します。
(3)パブリックファイナルint lastindexof(オブジェクトobj)
ベクトルの尾からOBJの逆検索を開始します。
(4)パブリックファイナルシンクルホーン化int lastindex(オブジェクトobj、int index)
indexで示された添え字から端から頭まで逆にobjを逆に検索します。
(5)パブリックファイナルシンクホーン化FirstElement()
ベクトルオブジェクトで最初のOBJを取得します
(6)パブリックファイナルシンコーン化オブジェクトLastElement()
ベクトルオブジェクトの最後のOBJを取得します
例
次のプログラムでは、このコレクションでサポートされているいくつかの方法について説明します。
import java.util。*; public class vectordemo {public static void main(string args []){//初期サイズは3、増分は2ベクトルv = new Vector(3、2); system.out.println( "初期サイズ:" + v.size()); system.out.println( "初期容量:" + v.capacity()); v.Addelement(新しい整数(1)); v.Addelement(新しい整数(2)); v.Addelement(新しい整数(3)); v.Addelement(新しい整数(4)); System.out.println( "4つの追加後の容量:" + v.capacity()); v.Addelement(新しいダブル(5.45)); System.out.println( "現在の容量:" + v.capacity()); V.Addelement(新しいダブル(6.08)); v.Addelement(新しい整数(7)); System.out.println( "現在の容量:" + v.capacity()); V.Addelement(新しいフロート(9.4)); v.Addelement(新しい整数(10)); System.out.println( "現在の容量:" + v.capacity()); v.Addelement(新しい整数(11)); v.Addelement(新しい整数(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 contas 3."); //ベクトル内の要素を列挙します。列挙venum = v.Elements(); System.out.println( "/nelements in vector:"); while(venum.hasmoreElements())system.out.print(venum.nextelement() + ""); System.out.println(); }}上記の例の編集と操作の結果は次のとおりです。
初期サイズ:0Initial容量:3容量4つの追加後の容量:5カレント容量:5カレント容量:7カレント容量:9 first要素:1ラスト要素:12ベクトルにはベクトルの要素が含まれます:1 2 3 4 5.45 6.08 7 9.4 10 11 12 12