|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.util.AbstractCollection<E>
java.util.AbstractList<E>
java.util.Vector<E>
public class Vector<E>
Vector クラスは、オブジェクトの可変長配列を実装します。ここには配列と同じように、整数インデックスを使ってアクセスできる要素が格納されています。しかし、Vector のサイズは、作成後に追加および削除されたオブジェクトを格納できるように必要に応じて増やしたり減らしたりすることができます。
各 Vector は、capacity (容量) と capacityIncrement (増加量) を管理することにより記憶管理を最適化しようとします。capacity は常に Vector の要素数に近い値であり、通常は要素数より大きくなります。これは、Vector に要素が加えられるとき、Vector の記憶領域は capacityIncrement だけ増やされるからです。多くの要素を挿入する前にアプリケーションで容量を必要な値に設定しておけば、メモリの再配分の回数を減らすことができます。
Java 2 プラットフォーム v1.2 では、このクラスは List を実装するために改良されているため、Java Collections Framework の一部になります。新しいコレクションの実装とは異なり、Vector は同期をとります。
Vector のメソッド Iterator および listIterator が返す Iterator は、「フェイルファスト」です。Iterator の作成後に、Iterator 自体の remove または add メソッド以外の方法で Vector を構造的に変更すると、Iterator は ConcurrentModificationException をスローします。したがって、同時に変更が行われると、Iterator は、将来の予測できない時点において予測できない動作が発生する危険を回避するために、ただちにかつ手際よく例外をスローします。Vector の elements メソッドが返す Enumeration は、フェイルファストではありません。
通常、非同期の同時変更がある場合、確かな保証を行うことは不可能なので、反復子のフェイルファストの動作を保証することはできません。フェイルファスト反復子は最善努力原則に基づき、ConcurrentModificationException をスローします。したがって、正確を期すためにこの例外に依存するプログラムを書くことは誤りです。「反復子のフェイルファストの動作はバグを検出するためにのみ使用すべきです」
このクラスは、Java Collections Framework のメンバです。
Collection,
List,
ArrayList,
LinkedList,
直列化された形式| フィールドの概要 | |
|---|---|
protected int |
capacityIncrement
Vector のサイズが Vector の容量を超えるときに自動的に増やされる量です。 |
protected int |
elementCount
Vector オブジェクト内の有効な要素数です。 |
protected Object[] |
elementData
Vector の要素が格納される配列バッファです。 |
| クラス java.util.AbstractList から継承されたフィールド |
|---|
modCount |
| コンストラクタの概要 | |
|---|---|
Vector()
空の Vector を作成し、その内部データ配列のサイズが 10 で、その標準的な増加がゼロであるようにします。 |
|
Vector(Collection<? extends E> c)
指定されたコレクションの反復子が返した順序で、その要素を格納する Vector を作成します。 |
|
Vector(int initialCapacity)
指定された初期容量、および増加量がゼロである、空の Vector を作成します。 |
|
Vector(int initialCapacity,
int capacityIncrement)
指定された容量と増加量で空の Vector を作成します。 |
|
| メソッドの概要 | ||
|---|---|---|
boolean |
add(E o)
Vector の末尾に指定された要素を追加します。 |
|
void |
add(int index,
E element)
Vector 内の指定された位置に指定された要素を挿入します。 |
|
boolean |
addAll(Collection<? extends E> c)
指定された Collection 内のすべての要素をこの Vector の末尾に、その Collection の Iterator によって返される順序で追加します。 |
|
boolean |
addAll(int index,
Collection<? extends E> c)
指定された Collection 内のすべての要素を、Vector の指定された位置に挿入します。 |
|
void |
addElement(E obj)
指定された要素を Vector の最後に追加し、サイズを 1 増やします。 |
|
int |
capacity()
Vector の新しい容量を返します。 |
|
void |
clear()
すべての要素を Vector から削除します。 |
|
Object |
clone()
Vector をコピーします。 |
|
boolean |
contains(Object elem)
指定されたオブジェクトが Vector の要素であるかどうかを判定します。 |
|
boolean |
containsAll(Collection<?> c)
Vector が指定された Collection 内のすべての要素を保持する場合に true を返します。 |
|
void |
copyInto(Object[] anArray)
Vector の要素を、指定された配列にコピーします。 |
|
E |
elementAt(int index)
指定されたインデックスの要素を返します。 |
|
Enumeration<E> |
elements()
Vector の要素の列挙を返します。 |
|
void |
ensureCapacity(int minCapacity)
Vector の収容量を必要に応じて増やして、少なくとも最小収容量の引数で指定される要素数を保持できることを保証します。 |
|
boolean |
equals(Object o)
指定された Object が Vector と等しいかどうかを比較します。 |
|
E |
firstElement()
Vector の最初の要素 (インデックス 0 の項目) を返します。 |
|
E |
get(int index)
Vector 内の指定された位置にある要素を返します。 |
|
int |
hashCode()
Vector のハッシュコード値を返します。 |
|
int |
indexOf(Object elem)
equals メソッドを使って等しいかどうかを判定しながら、指定された引数と同じ内容の要素を先頭から検索します。 |
|
int |
indexOf(Object elem,
int index)
equals メソッドを使って等しいかどうかを判定しながら、指定された引数と同じ内容の要素を指定された index から検索します。 |
|
void |
insertElementAt(E obj,
int index)
Vector の指定された index に、指定されたオブジェクトを要素として挿入します。 |
|
boolean |
isEmpty()
Vector が要素を持たないかどうかを判定します。 |
|
E |
lastElement()
Vector の最後の要素を返します。 |
|
int |
lastIndexOf(Object elem)
Vector を末尾から検索して、指定されたオブジェクトと同じ内容の要素のインデックスを返します。 |
|
int |
lastIndexOf(Object elem,
int index)
指定されたインデックスから後向きに指定されたオブジェクトを検索し、検出されたインデックスを返します。 |
|
E |
remove(int index)
Vector 内の指定された位置にある要素を削除します。 |
|
boolean |
remove(Object o)
Vector 内で最初に検出された指定された要素を削除します。 |
|
boolean |
removeAll(Collection<?> c)
Vector から、指定された Collection 内に保持されているすべての要素を削除します。 |
|
void |
removeAllElements()
Vector からすべての要素を削除し、サイズを 0 に設定します。 |
|
boolean |
removeElement(Object obj)
最初に検出された (最小インデックスの) 引数の要素を Vector から削除します。 |
|
void |
removeElementAt(int index)
指定されたインデックスの要素を削除します。 |
|
protected void |
removeRange(int fromIndex,
int toIndex)
fromIndex (これを含む) 〜 toIndex (これを含まない) の範囲のインデックスを持つすべての要素をこの List から削除します。 |
|
boolean |
retainAll(Collection<?> c)
指定された Collection 内に保持されている、Vector 内の要素だけを保持します。 |
|
E |
set(int index,
E element)
Vector 内の指定された位置にある要素を、指定された要素で置き換えます。 |
|
void |
setElementAt(E obj,
int index)
Vector の指定された index の要素に、指定されたオブジェクトを設定します。 |
|
void |
setSize(int newSize)
Vector のサイズを設定します。 |
|
int |
size()
Vector の要素数を返します。 |
|
List<E> |
subList(int fromIndex,
int toIndex)
この List の、fromIndex (これを含む) と toIndex (これを含まない) の間の部分のビューを返します。 |
|
Object[] |
toArray()
Vector 内のすべての要素を正しい順序で保持する配列を返します。 |
|
|
toArray(T[] a)
Vector 内のすべての要素が正しい順序で格納されている配列を返します。 |
|
String |
toString()
各要素の String 表現を保持している、Vector の文字列表現を返します。 |
|
void |
trimToSize()
Vector の容量を、現在の容量にまで減らします。 |
|
| クラス java.util.AbstractList から継承されたメソッド |
|---|
iterator, listIterator, listIterator |
| クラス java.lang.Object から継承されたメソッド |
|---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
| インタフェース java.util.List から継承されたメソッド |
|---|
iterator, listIterator, listIterator |
| フィールドの詳細 |
|---|
protected Object[] elementData
Vector 内の最後の要素の後に来る配列要素は null です。
protected int elementCount
protected int capacityIncrement
| コンストラクタの詳細 |
|---|
public Vector(int initialCapacity,
int capacityIncrement)
initialCapacity - Vector の初期容量capacityIncrement - Vector があふれたときに増加される容量
IllegalArgumentException - 指定された初期容量が負の場合public Vector(int initialCapacity)
initialCapacity - Vector の初期容量
IllegalArgumentException - 指定された初期容量が負の場合public Vector()
public Vector(Collection<? extends E> c)
c - 要素が Vector に配置されるコレクション
NullPointerException - 指定されたコレクションが null である場合| メソッドの詳細 |
|---|
public void copyInto(Object[] anArray)
anArray - コピーした要素を格納する配列
NullPointerException - 指定された配列が null である場合public void trimToSize()
public void ensureCapacity(int minCapacity)
Vector の現在の容量が minCapacity よりも小さい場合、elementData フィールドに保持されているその内部データ配列をより大きなデータ配列に置き換えてその容量を増やします。新しいデータ配列のサイズは、capacityIncrement がゼロ以下でないかぎり、元のサイズにその値を加えたものになります。capacityIncrement がゼロ以下の場合は新しい容量は元の容量の 2 倍になります。新しいサイズがまだ minCapacity よりも小さい場合には、新しい容量は minCapacity になります。
minCapacity - 保証したい最小容量public void setSize(int newSize)
null 要素が Vector の最後に追加されます。現在のサイズよりも小さい場合は、インデックス newSize とそれ以降の要素はすべて破棄されます。
newSize - Vector の新しいサイズ
ArrayIndexOutOfBoundsException - サイズが負の値の場合public int capacity()
public int size()
Collection<E> 内の sizeList<E> 内の sizeAbstractCollection<E> 内の sizepublic boolean isEmpty()
Collection<E> 内の isEmptyList<E> 内の isEmptyAbstractCollection<E> 内の isEmptytrue、そうでない場合は falsepublic Enumeration<E> elements()
Enumeration,
Iteratorpublic boolean contains(Object elem)
Collection<E> 内の containsList<E> 内の containsAbstractCollection<E> 内の containselem - オブジェクト
true、そうでない場合は falsepublic int indexOf(Object elem)
equals メソッドを使って等しいかどうかを判定しながら、指定された引数と同じ内容の要素を先頭から検索します。
List<E> 内の indexOfAbstractList<E> 内の indexOfelem - オブジェクト
-1 が返されるObject.equals(Object)
public int indexOf(Object elem,
int index)
equals メソッドを使って等しいかどうかを判定しながら、指定された引数と同じ内容の要素を指定された index から検索します。
elem - オブジェクトindex - 検索を開始する位置の負以外のインデックス
index かそれ以降の最初のオブジェクト引数のインデックス、つまり elem.equals(elementData[k]) && (k >= index) が true であるような最小値 k。オブジェクトが見つからない場合は -1 が返される。「index >= この Vector の現在サイズ」の場合は -1 が返される
IndexOutOfBoundsException - index が負の値の場合Object.equals(Object)public int lastIndexOf(Object elem)
List<E> 内の lastIndexOfAbstractList<E> 内の lastIndexOfelem - 設定する成分
-1 が返される
public int lastIndexOf(Object elem,
int index)
elem - 設定する成分index - 検索を開始する位置のインデックス
index の前でもっとも近くにある指定されたオブジェクトのインデックス、つまり elem.equals(elementData[k]) && (k <= index) が true であるような最大値 k。オブジェクトが見つからない場合は -1。index が負の値である場合は -1
IndexOutOfBoundsException - index が Vector の現在のサイズよりも大きいか等しい場合public E elementAt(int index)
このメソッドは機能的に get メソッドと同じです。これは、List インタフェースの一部です。
index - Vector のインデックス
ArrayIndexOutOfBoundsException - index が負の場合、または Vector オブジェクトの現在のサイズよりも小さくない場合get(int),
Listpublic E firstElement()
NoSuchElementException - Vector が要素を持たない場合public E lastElement()
size() - 1 の要素
NoSuchElementException - Vector が空の場合
public void setElementAt(E obj,
int index)
index の要素に、指定されたオブジェクトを設定します。そのインデックスにあった要素は破棄されます。
インデックスは、0 に等しいか、それより大きい値でなければなりません。また、Vector の現在のサイズより小さい値でなければなりません。
このメソッドは機能的に set メソッドと同じです。これは、List インタフェースの一部です。配列の使い方により近づけるために、set メソッドがパラメータの順序を逆にすることに注意してください。また、set メソッドが指定された位置に格納されていた古い値を返すことにも注意してください。
obj - 要素に設定されるオブジェクトindex - インデックス
ArrayIndexOutOfBoundsException - インデックスが不正だった場合size(),
List,
set(int, java.lang.Object)public void removeElementAt(int index)
index に等しいか、それより大きいインデックスの要素は、すべて 1 つ前方のインデックスに詰められます。Vector のサイズは 1 だけ減らされます。
インデックスは、0 に等しいか、それより大きい値でなければなりません。また、Vector の現在のサイズより小さい値でなければなりません。
このメソッドは機能的に remove メソッドと同じです。これは、List インタフェースの一部です。remove メソッドが指定された位置に格納されていた古い値を返すことに注意してください。
index - 削除されるオブジェクトのインデックス
ArrayIndexOutOfBoundsException - インデックスが不正だった場合size(),
remove(int),
List
public void insertElementAt(E obj,
int index)
index に、指定されたオブジェクトを要素として挿入します。指定された index に等しいか、それより大きいインデックスの要素はすべて 1 つ後方のインデックスにずれます。
インデックスは、0 に等しいか、それより大きい値でなければなりません。また、Vector の現在のサイズに等しいか、それより小さい値でなければなりません。インデックスが Vector の現在のサイズに等しい場合、新しい要素は Vector の末尾に追加されます。
このメソッドは機能的に add(Object, int) メソッドと同じです。これは、List インタフェースの一部です。配列の使い方により適した形にするために add メソッドがパラメータの順序を逆にすることに注意してください。
obj - 挿入される要素index - 新しい要素を挿入する位置
ArrayIndexOutOfBoundsException - インデックスが不正だった場合size(),
add(int, Object),
Listpublic void addElement(E obj)
このメソッドは機能的に add(Object) メソッドと同じです。これは、List インタフェースの一部です。
obj - 追加される要素add(Object),
Listpublic boolean removeElement(Object obj)
このメソッドは機能的に remove(Object) メソッドと同じです。これは、List インタフェースの一部です。
obj - 削除される要素
true、そうでない場合は falseList.remove(Object),
Listpublic void removeAllElements()
このメソッドは機能的に clear メソッドと同じです。これは、List インタフェースの一部です。
clear(),
Listpublic Object clone()
Object 内の cloneCloneablepublic Object[] toArray()
Collection<E> 内の toArrayList<E> 内の toArrayAbstractCollection<E> 内の toArrayArrays.asList(Object[])public <T> T[] toArray(T[] a)
Vector が指定された配列に余裕をもって収まる場合、つまり配列が Vector よりも要素を数多く持つ場合、Vector の末尾の直後に来る配列内の要素は null に設定されます。これは、Vector がまったく null 要素を保持していないことを呼び出し側が認識している場合にだけ、Vector の長さを確認する際に役に立ちます。
Collection<E> 内の toArrayList<E> 内の toArrayAbstractCollection<E> 内の toArraya - 配列が十分な大きさを持つ場合は、Vector の要素が格納される配列。そうでない場合は、要素を格納するために同じ実行時の型の新しい配列が割り当てられる
ArrayStoreException - a の実行時の型が、Vector 内の各要素の実行時の型のスーパータイプでない場合
NullPointerException - 指定された配列が null である場合public E get(int index)
List<E> 内の getAbstractList<E> 内の getindex - 返される要素のインデックス
ArrayIndexOutOfBoundsException - インデックスが範囲外の場合 (index < 0 || index >= size())
public E set(int index,
E element)
List<E> 内の setAbstractList<E> 内の setindex - 置換される要素のインデックスelement - 指定された位置に格納される要素
ArrayIndexOutOfBoundsException - インデックスが範囲外の場合 (index < 0 || index >= size())public boolean add(E o)
Collection<E> 内の addList<E> 内の addAbstractList<E> 内の addo - Vector に追加される要素
public boolean remove(Object o)
(o==null ? get(i)==null : o.equals(get(i))) であるもっとも小さいインデックス i を持つ要素があれば削除します。
Collection<E> 内の removeList<E> 内の removeAbstractCollection<E> 内の removeo - Vector から削除される要素 (その要素がある場合)
public void add(int index,
E element)
List<E> 内の addAbstractList<E> 内の addindex - 指定された要素が挿入されるインデックスelement - 挿入される要素
ArrayIndexOutOfBoundsException - インデックスが範囲外の場合 (index < 0 || index > size())public E remove(int index)
List<E> 内の removeAbstractList<E> 内の removeindex - 削除される要素のインデックス
ArrayIndexOutOfBoundsException - インデックスが範囲外の場合 (index < 0 || index >= size())public void clear()
Collection<E> 内の clearList<E> 内の clearAbstractList<E> 内の clearpublic boolean containsAll(Collection<?> c)
Collection<E> 内の containsAllList<E> 内の containsAllAbstractCollection<E> 内の containsAllc - 要素がこの Vector にあるかどうかを調べるコレクション
NullPointerException - 指定されたコレクションが null である場合AbstractCollection.contains(Object)public boolean addAll(Collection<? extends E> c)
Collection<E> 内の addAllList<E> 内の addAllAbstractCollection<E> 内の addAllc - Vector に挿入される要素
NullPointerException - 指定されたコレクションが null である場合AbstractCollection.add(Object)public boolean removeAll(Collection<?> c)
Collection<E> 内の removeAllList<E> 内の removeAllAbstractCollection<E> 内の removeAllc - Vector から削除される要素のコレクション
NullPointerException - 指定されたコレクションが null である場合AbstractCollection.remove(Object),
AbstractCollection.contains(Object)public boolean retainAll(Collection<?> c)
Collection<E> 内の retainAllList<E> 内の retainAllAbstractCollection<E> 内の retainAllc - Vector に保持されている要素のコレクション (ほかのすべての要素は削除)
NullPointerException - 指定されたコレクションが null である場合AbstractCollection.remove(Object),
AbstractCollection.contains(Object)
public boolean addAll(int index,
Collection<? extends E> c)
List<E> 内の addAllAbstractList<E> 内の addAllindex - 指定されたコレクションから最初の要素を挿入する位置のインデックスc - Vector に挿入される要素
ArrayIndexOutOfBoundsException - インデックスが範囲外の場合 (index < 0 || index > size())
NullPointerException - 指定されたコレクションが null である場合public boolean equals(Object o)
e1 と e2 は、(e1==null ? e2==null : e1.equals(e2)) である場合に等しくなります。つまり、同じ順序で同じ要素を保持している場合に、2 つの List は等しいものと判定されます。
Collection<E> 内の equalsList<E> 内の equalsAbstractList<E> 内の equalso - Vector と同じかどうかを比較される Object
Object.hashCode(),
Hashtablepublic int hashCode()
Collection<E> 内の hashCodeList<E> 内の hashCodeAbstractList<E> 内の hashCodeObject.equals(java.lang.Object),
Hashtablepublic String toString()
AbstractCollection<E> 内の toString
public List<E> subList(int fromIndex,
int toIndex)
このメソッドは、配列に一般的に見られるような、明示的な範囲操作のための要求を不要にします。リストを要求するいかなる操作もリスト全体ではなく、subList ビュー上で操作することで、範囲操作として使用できます。たとえば、次の慣用法は、指定された範囲の要素をリストから削除します。
list.subList(from, to).clear();
indexOf および lastIndexOf でも同様の慣用法を作成でき、Collections クラスのアルゴリズムがすべて subList に適用できます。基づくリスト (つまりこの List) が、返された List を介さずに「構造的に変更」された場合、このメソッドによって返された List のセマンティクスは、保証されません。構造的な変更とは、List のサイズが変更された場合や、進行中の繰り返しにより不正な結果が生じたなどの理由で List が乱れた場合です。
List<E> 内の subListAbstractList<E> 内の subListfromIndex - subList の下端点 (これを含む)toIndex - subList の上端点 (これを含まない)
IndexOutOfBoundsException - 端点のインデックス値が範囲外の場合 (fromIndex < 0 || toIndex > size)
IllegalArgumentException - 端点のインデックス値が不正な場合 (fromIndex > toIndex)
protected void removeRange(int fromIndex,
int toIndex)
AbstractList<E> 内の removeRangefromIndex - 削除する最初の要素のインデックスtoIndex - 削除する最後の要素の直後のインデックス
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。