4. Vector 
Vectorは可変長の配列です。配列は一度newするとその大きさを変更することはできない。もしサイズを大きくしたい場合は新しいサイズでnewしなおし、System クラスのarraycopyメソッドを用いてコピーする必要があった。Vectorクラスでは、サイズを気にせず必要な時にサイズを変更できる配列が提供される。 
ただし、Vectorで管理できるのはクラスのインスタンスと配列のみで、プリミティブ型は格納できない。例えばint型の数字を格納したい場合は後述するIntegerクラスのインスタンスにして格納する必要がある。 

import java.util.Vector

メンバー
protected
int
capacityIncrement

VectorのサイズがVectorの容量を超えるときに自動的に増やされる量

protected
 int
elementCount

Vector オブジェクト内の有効な要素数

protected
 Object
elementData

Vectorの要素が格納される配列バッファ

コンストラクタ
Vector() 

空のVectorを作成し、その内部データ配列のサイズが10で、その標準的な増分がゼロであるようにする

Vector(int initialCapacity) 

指定された初期容量、および増加量がゼロである、空のVectorを作成する 

Vector(int initialCapacity,int capacityIncrement) 

指定された容量と増加量で空のVectorを作成する 

メソッド
 
void addElement(Object obj)
      指定の要素をVectorの最後に追加し、サイズを1増やす
int capacity()
      Vectorの新しい容量を返す
Object clone()
      Vectorをコピーします。中身のObjectが複製されるのではなく参照がコピーされるだけ
boolean contains(Object elem)
      指定されたオブジェクトがVectorの要素であるかどうかを判定する。判定はそのObjectクラスのequalsメソッドが利用され、含まれていればtrueが返される。
boolean containsAll(Collection c)
      Vectorが指定の Collection 内のすべての要素を保持する場合に true を返す
void copyInto(Object[] anArray)
      Vectorの要素を、指定された配列にコピーする
Object elementAt(int index)
      指定されたインデックスの要素を返す
Enumeration elements()
      Vectorの要素のリストを返す
boolean equals(Object o)
      指定された Object がVectorと等しいかどうかを比較する。2つのVectorが同じ順序で同じ参照を持っていればtrueが返される。
Object firstElement()
      Vectorの最初の要素(インデックス0の項目)を返す
int indexOf(Object elem)
      equalsメソッドを使って等しいかどうかを判定しながら、指定された引数と同じ内容の要素を先頭から検索します。見つからない場合は-1が返される。
int indexOf(Object elem,int index) 
      equalsメソッドを使って等しいかどうかを判定しながら、指定された引数と同じ内容の要素を指定されたindexから検索する。見つからない場合は-1が返される。
void insertElementAt(Object obj, int index)
      Vectorの指定されたindexに、指定されたオブジェクトを要素として挿入する
boolean isEmpty()
      Vectorが要素を持たなければtrueを返す
Object lastElement()
      Vectorの最後の要素を返す
int lastIndexOf(Object elem)
      Vectorを末尾から検索して、指定されたオブジェクトと同じ内容の要素のインデックスを返し、見つからない場合は-1が返される。
int lastIndexOf(Object elem, int index)
      指定されたインデックスから後向きに指定のオブジェクトを検索し、検出されたインデックスを返す。見つからない場合は-1が返される。
void removeAllElements()
      Vectorからすべての要素を削除し、サイズを0に設定する
boolean removeElement(Object obj)
      最初に検出された(最小インデックスの)引数の要素をVectorから削除する
void removeElementAt(int index)
      指定されたインデックスの要素を削除する
void setElementAt(Object obj, int index)
      Vectorの指定されたindexの要素に、指定されたオブジェクトを設定する
void setSize(int newSize)
      Vectorのサイズを設定する
int size()
      Vectorの要素数を返す
List subList(int fromIndex, int toIndex)
      この List の、fromIndex(これを含む)とtoIndex(これを含まない)の間の部分のビューを返す
String toString()
      各要素のString 表現を保持している、Vectorの文字列表現を返す
void trimToSize()
      Vectorの容量を、現在の容量にまで減らす
   
sample) Systemクラスのarraycopyメソッドと、標準出力、標準エラー出力の例
class Test {
    public static void main(Stirng args[ ]) {
         int i ;
         char c ;
         Character ch;
         Vector vect = new Vector( );

       //文字をVectorに追加していく
       for( c = 0 ; c < 26 ; c++ )
            //プリミティブ型(ここではchar型)はそのままではVectorに入れられない
            //そこで、Charactor型にする必要がある。
            vect.addElement( new Character( ( char ) ( 'A' + c ) ) );

         //配列の中身を表示
         disp(vect);

               //’Q’という文字は何番目に入っている?
           c = 'Q' ;
           i  = vect.index0f(new Character(c) ) ;
           System.out.println( i >=0 ?
                                     c + " は " + i + " 番目に入っています。 ":
                                     c + " はvectの中に入っていません。 ")

               //10番目は何?
           i = 10;
           ch = (Character)vect.elementAt( i );
           System.out.println( i + "番目には " + ch + " が入っています");
     }

       //配列の中身を表示するメソッド
     public static void disp(Vector vect){
          System.out.print("vector ");
          int nSize = vect.size( )

             //配列の中身表示
          for( int i = 0 ; i < nSize ; i++ )
               System.out.print(vect.elementAt( i ) );

             //改行
          System.out.println( ) ;
    }
}

C:\Java\>java Test
vector ABCDEFGHIJKLMNOPQRSTUVWXYZ
Qは16番目に入っています。
10番目にはKが入っています

C:\Java\>