|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.util.AbstractCollection | +--java.util.AbstractList | +--java.util.Vector
Vector
クラスは、オブジェクトの可変長配列を実装します。ここには配列と同じように、整数インデックスを使ってアクセスできる要素が格納されています。しかし、Vector
のサイズは、作成後に追加および削除されたオブジェクトを格納できるように必要に応じて増やしたり減らしたりすることができます。
各 Vector は、capacity
(容量) と capacityIncrement
(増加量) を管理することにより記憶管理を最適化しようとします。capacity
は常に Vector の要素数に近い値であり、通常は要素数より大きくなります。これは、Vector に要素が加えられるとき、Vector の記憶領域は capacityIncrement
だけ増やされるからです。多くの要素を挿入する前にアプリケーションで容量を必要な値に設定しておけば、メモリの再配分の回数を減らすことができます。
JDK1.2 以降、このクラスは List を実装するために改良されました。このため、このクラスは Java の Collections Framework の一部になります。新しいコレクション実装とは異なり、Vector は同期化されます。
Vector のメソッド Iterator および listIterator が返す Iterator は、「フェイルファスト」です。Iterator の作成後に、Iterator 自体の remove または add メソッド以外の方法で Vector を構造的に変更すると、Iterator は ConcurrentModificationException をスローします。したがって、同時変更が行われると、Iterator は、将来の予測できない時点において予測できない動作が発生する危険を回避するために、速やかにかつクリーンに失敗します。Vector の elements メソッドが返す Enumeration は、フェイルファストではありません。
Collection
,
List
,
ArrayList
,
LinkedList
, 直列化された形式フィールドの概要 | |
protected int |
capacityIncrement
Vector のサイズが Vector の容量を超えるときに自動的に増やされる量です。 |
protected int |
elementCount
Vector オブジェクト内の有効な要素数です。 |
protected Object[] |
elementData
ベクトルの要素が格納される配列バッファです。 |
クラス java.util.AbstractList から継承したフィールド |
modCount |
コンストラクタの概要 | |
Vector()
空の Vector を作成し、その内部データ配列のサイズが 10 で、その標準的な増分がゼロであるようにします。 |
|
Vector(Collection c)
指定されたコレクションの反復子が返した順序で、その要素を格納する Vector を作成します。 |
|
Vector(int initialCapacity)
指定された初期容量、および増加量がゼロである、空の Vector を作成します。 |
|
Vector(int initialCapacity,
int capacityIncrement)
指定された容量と増加量で空の Vector を作成します。 |
メソッドの概要 | |
void |
add(int index,
Object element)
Vector 内の指定された位置に指定の要素を挿入します。 |
boolean |
add(Object o)
Vector の末尾に指定の要素を追加します。 |
boolean |
addAll(Collection c)
指定された Collection 内のすべての要素をこの Vector の末尾に、その Collection の Iterator によって返される順序で追加します。 |
boolean |
addAll(int index,
Collection c)
指定された Collection 内のすべての要素を、Vector の指定された位置に挿入します。 |
void |
addElement(Object 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 の要素を、指定された配列にコピーします。 |
Object |
elementAt(int index)
指定されたインデックスの要素を返します。 |
Enumeration |
elements()
Vector の要素のリストを返します。 |
void |
ensureCapacity(int minCapacity)
必要に応じて Vector の容量を増加させます。 |
boolean |
equals(Object o)
指定された Object が Vector と等しいかどうかを比較します。 |
Object |
firstElement()
Vector の最初の要素 (インデックス 0 の項目) を返します。 |
Object |
get(int index)
Vector 内の指定された位置にある要素を返します。 |
int |
hashCode()
Vector のハッシュコード値を返します。 |
int |
indexOf(Object elem)
equals メソッドを使って等しいかどうかを判定しながら、指定された引数と同じ内容の要素を先頭から検索します。 |
int |
indexOf(Object elem,
int index)
equals メソッドを使って等しいかどうかを判定しながら、指定された引数と同じ内容の要素を指定された index から検索します。 |
void |
insertElementAt(Object obj,
int index)
Vector の指定されたインデックスに、指定されたオブジェクトを要素として挿入します。 |
boolean |
isEmpty()
Vector が要素を持たないかどうかを判定します。 |
Object |
lastElement()
Vector の最後の要素を返します。 |
int |
lastIndexOf(Object elem)
Vector を末尾から検索して、指定されたオブジェクトと同じ内容の要素のインデックスを返します。 |
int |
lastIndexOf(Object elem,
int index)
指定されたインデックスから後向きに指定のオブジェクトを検索し、検出されたインデックスを返します。 |
Object |
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 内の要素だけを保持します。 |
Object |
set(int index,
Object element)
Vector 内の指定された位置にある要素を、指定の要素で置き換えます。 |
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 (これを含まない) の間の部分のビューを返します。 |
Object[] |
toArray()
Vector 内のすべての要素を正しい順序で保持する配列を返します。 |
Object[] |
toArray(Object[] 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 |
フィールドの詳細 |
protected Object[] elementData
Vector 内の最後の要素の後に来る配列要素は null です。
protected int elementCount
protected int capacityIncrement
0
の場合、拡大の必要があるたびにベクトルの容量は倍になります。コンストラクタの詳細 |
public Vector(int initialCapacity, int capacityIncrement)
initialCapacity
- Vector の初期容量capacityIncrement
- Vector があふれたときに容量が増加される量public Vector(int initialCapacity)
initialCapacity
- Vector の初期容量public Vector()
public Vector(Collection c)
メソッドの詳細 |
public void copyInto(Object[] anArray)
anArray
- コピーした要素を格納する配列public void trimToSize()
public void ensureCapacity(int minCapacity)
minCapacity
- 保証したい最小容量public void setSize(int newSize)
null
要素が Vector の最後に追加されます。現在のサイズよりも小さい場合は、インデックス code>newSize とそれ以降の要素はすべて失われます。newSize
- Vector の新しいサイズpublic int capacity()
public int size()
public boolean isEmpty()
true
、そうでない場合は false
public Enumeration elements()
Enumeration
,
Iterator
public boolean contains(Object elem)
elem
- オブジェクトtrue
、そうでない場合は false
public int indexOf(Object elem)
equals
メソッドを使って等しいかどうかを判定しながら、指定された引数と同じ内容の要素を先頭から検索します。elem
- オブジェクト-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
Object.equals(Object)
public int lastIndexOf(Object elem)
elem
- 要素-1
public int lastIndexOf(Object elem, int index)
elem
- 要素index
- 検索を開始する位置のインデックスindex
の前でもっとも近くにある指定のオブジェクト引数のインデックス、つまり elem.equals(elementData[k]) && (k >= index) が true であるような最大値 k。オブジェクトが見つからない場合は -1
public Object elementAt(int index)
このメソッドは機能的に get メソッドと同じです。これは、List インタフェースの一部です。
index
- Vector のインデックスget(int)
,
List
public Object firstElement()
public Object lastElement()
public void setElementAt(Object obj, int index)
index
の要素に、指定されたオブジェクトを設定します。そのインデックスにあった要素は破棄されます。
インデックスは、0
と等しいか、それより大きい値でなければなりません。また、Vector の現在のサイズより小さい値でなければなりません。
このメソッドは機能的に set メソッドと同じです。これは、List インタフェースの一部です。配列の使い方により近づけるために、set メソッドがパラメータの順序を逆にすることに注意してください。また、set メソッドが指定の位置に格納されていた古い値を返すことにも注意してください。
obj
- 要素に設定されるオブジェクトindex
- インデックスsize()
,
List
,
set(int, java.lang.Object)
public void removeElementAt(int index)
インデックスは、0
に等しいか、それより大きい値でなければなりません。また、Vector の現在のサイズより小さい値でなければなりません。
このメソッドは機能的に remove メソッドと同じです。これは、List インタフェースの一部です。remove メソッドが指定の位置に格納されていた古い値を返すことに注意してください。
index
- 削除されるオブジェクトのインデックスsize()
,
remove(int)
,
List
public void insertElementAt(Object obj, int index)
index
に等しいか、それより大きいインデックスの要素はすべて 1 つ後方のインデックスにずれます。
インデックスは、0
に等しいか、それより大きい値でなければなりません。また、Vector の現在のサイズに等しいか、それより小さい値でなければなりません。インデックスが Vector の現在のサイズに等しい場合、新しい要素は Vector の末尾に追加されます。
このメソッドは機能的に add(Object, int) メソッドと同じです。これは、List インタフェースの一部です。配列の使い方により適した形にするために add メソッドがパラメータの順序を逆にすることに注意してください。
obj
- 挿入される要素index
- 新しい要素を挿入する位置size()
,
add(int, Object)
,
List
public void addElement(Object obj)
このメソッドは機能的に add(Object) メソッドと同じです。これは、List インタフェースの一部です。
obj
- 追加される要素add(Object)
,
List
public boolean removeElement(Object obj)
このメソッドは機能的に remove(Object) メソッドと同じです。これは、List インタフェースの一部です。
obj
- 削除される要素true
、そうでない場合は false
List.remove(Object)
,
List
public void removeAllElements()
このメソッドは機能的に clear メソッドと同じです。これは、List インタフェースの一部です。
clear()
,
List
public Object clone()
public Object[] toArray()
public Object[] toArray(Object[] a)
Vector が指定の配列に余裕をもって収まる場合、つまり配列が Vector よりも要素を数多く持つ場合、Vector の末尾の直後にくる配列内の要素は null に設定されます。これは、Vector がまったく null 要素を保持していないことを呼び出し側が認識している場合にだけ、Vector の長さを確認する際に役に立ちます。
a
- 配列の大きさが十分な場合は、Vector の要素が格納される配列、そうでない場合は、要素を格納するために同じ実行時の型の新しい配列が割り当てられるpublic Object get(int index)
index
- 要素のインデックスpublic Object set(int index, Object element)
index
- 置き換える要素のインデックスelement
- 指定された位置に格納される要素public boolean add(Object o)
o
- Vector に追加される要素public boolean remove(Object o)
(o==null ? get(i)==null : o.equals(get(i)))
であるもっとも小さいインデックス i を持つ要素があれば削除します。o
- Vector 内にあれば削除される要素public void add(int index, Object element)
index
- 指定の要素が挿入されるインデックスelement
- 挿入される要素public Object remove(int index)
index
- 削除される要素のインデックスpublic void clear()
public boolean containsAll(Collection c)
public boolean addAll(Collection c)
index
- 指定されたコレクションから最初の要素を配置する挿入先のインデックスc
- Vector に挿入される要素public boolean removeAll(Collection c)
public boolean retainAll(Collection c)
public boolean addAll(int index, Collection c)
index
- 指定されたコレクションから最初の要素を挿入する位置のインデックスc
- Vector に挿入される要素public boolean equals(Object o)
e1
と e2
は、(e1==null ? e2==null : e1.equals(e2))
である場合に等しくなります。つまり、同じ順序で同じ要素を保持している場合に、2 つの List は等しいものと判定されます。o
- Vector と同じかどうかを比較される Objectpublic int hashCode()
public String toString()
public List subList(int fromIndex, int toIndex)
list.subList(from, to).clear();indexOf および lastIndexOf でも同様のイディオムを作成でき、Collections クラスのアルゴリズムがすべて subList に適用できます。 基のリスト (つまりこの List) が、返された List を介さずに「構造的に変更」された場合、このメソッドによって返された List のセマンティクスは、保証されません。構造的な変更とは、List のサイズが変更された場合や、進行中の繰り返しにより不正な結果が生じたなどの理由で List が乱れた場合です。
fromIndex
- subList の下限点 (これを含む)toIndex
- subList の上限点 (これを含まない)(fromIndex < 0 || toIndex > size)
(fromIndex > toIndex)
protected void removeRange(int fromIndex, int toIndex)
fromIndex
- 削除する最初の要素のインデックスtoIndex
- 削除する最後の要素の直後のインデックス
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |