|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.util.AbstractCollection | +--java.util.AbstractList | +--java.util.Vector
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 をスローします。したがって、正確を期すためにこの例外に依存するプログラムを書くことは誤りです。「反復子のフェイルファストの動作はバグを検出するためにのみ使用すべきです」
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 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 の指定された index に、指定されたオブジェクトを要素として挿入します。 |
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 |
インタフェース 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 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()
List
内の size
AbstractCollection
内の size
public boolean isEmpty()
List
内の isEmpty
AbstractCollection
内の isEmpty
true
、そうでない場合は false
public Enumeration elements()
Enumeration
,
Iterator
public boolean contains(Object elem)
List
内の contains
AbstractCollection
内の contains
elem
- オブジェクト
true
、そうでない場合は false
public int indexOf(Object elem)
equals
メソッドを使って等しいかどうかを判定しながら、指定された引数と同じ内容の要素を先頭から検索します。
List
内の indexOf
AbstractList
内の indexOf
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
が返される。index >= この Vector の現在サイズの場合は -1
が返される
IndexOutOfBoundsException
- index が負の値の場合Object.equals(Object)
public int lastIndexOf(Object elem)
List
内の lastIndexOf
AbstractList
内の lastIndexOf
elem
- 設定する成分
-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 Object elementAt(int index)
このメソッドは機能的に get メソッドと同じです。これは、List インタフェースの一部です。
index
- Vector のインデックス
ArrayIndexOutOfBoundsException
- index が負の場合、または Vector オブジェクトの現在のサイズよりも小さくない場合get(int)
,
List
public Object firstElement()
NoSuchElementException
- Vector が要素を持たない場合public Object lastElement()
size() - 1
の要素
NoSuchElementException
- Vector が空の場合public void setElementAt(Object 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(Object obj, int index)
index
に、指定されたオブジェクトを要素として挿入します。指定された index
に等しいか、それより大きいインデックスの要素はすべて 1 つ後方のインデックスにずれます。
インデックスは、0
に等しいか、それより大きい値でなければなりません。また、Vector の現在のサイズに等しいか、それより小さい値でなければなりません。インデックスが Vector の現在のサイズに等しい場合、新しい要素は Vector の末尾に追加されます。
このメソッドは機能的に add(Object, int) メソッドと同じです。これは、List インタフェースの一部です。配列の使い方により適した形にするために add メソッドがパラメータの順序を逆にすることに注意してください。
obj
- 挿入される要素index
- 新しい要素を挿入する位置
ArrayIndexOutOfBoundsException
- インデックスが不正だった場合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()
Object
内の clone
Cloneable
public Object[] toArray()
List
内の toArray
AbstractCollection
内の toArray
Arrays.asList(Object[])
public Object[] toArray(Object[] a)
Vector が指定の配列に余裕をもって収まる場合、つまり配列が Vector よりも要素を数多く持つ場合、Vector の末尾の直後に来る配列内の要素は null に設定されます。これは、Vector がまったく null 要素を保持していないことを呼び出し側が認識している場合にだけ、Vector の長さを確認する際に役に立ちます。
List
内の toArray
AbstractCollection
内の toArray
a
- 配列が十分な大きさを持つ場合は、Vector の要素が格納される配列。そうでない場合は、要素を格納するために同じ実行時の型の新しい配列が割り当てられる
ArrayStoreException
- a の実行時の型が、Vector 内の各要素の実行時の型のスーパータイプでない場合
NullPointerException
- 指定された配列が null である場合public Object get(int index)
List
内の get
AbstractList
内の get
index
- 返される要素のインデックス
ArrayIndexOutOfBoundsException
- インデックスが範囲外の場合 (index < 0 || index >= size())public Object set(int index, Object element)
List
内の set
AbstractList
内の set
index
- 置換される要素のインデックスelement
- 指定された位置に格納される要素
ArrayIndexOutOfBoundsException
- インデックスが範囲外の場合 (index < 0 || index >= size())public boolean add(Object o)
List
内の add
AbstractList
内の add
o
- Vector に追加される要素
public boolean remove(Object o)
(o==null ? get(i)==null : o.equals(get(i)))
であるもっとも小さいインデックス i を持つ要素があれば削除します。
List
内の remove
AbstractCollection
内の remove
o
- Vector から削除される要素 (その要素がある場合)
public void add(int index, Object element)
List
内の add
AbstractList
内の add
index
- 指定の要素が挿入されるインデックスelement
- 挿入される要素
ArrayIndexOutOfBoundsException
- インデックスが範囲外の場合 (index < 0 || index > size())public Object remove(int index)
List
内の remove
AbstractList
内の remove
index
- 削除される要素のインデックス
ArrayIndexOutOfBoundsException
- インデックスが範囲外の場合 (index < 0 || index >= size())public void clear()
List
内の clear
AbstractList
内の clear
public boolean containsAll(Collection c)
List
内の containsAll
AbstractCollection
内の containsAll
c
- 要素がこの Vector にあるかどうかを調べるコレクション
NullPointerException
- 指定されたコレクションが null である場合contains(Object)
public boolean addAll(Collection c)
List
内の addAll
AbstractCollection
内の addAll
c
- Vector に挿入される要素
ArrayIndexOutOfBoundsException
- インデックスが範囲外の場合 (index < 0 || index > size())
NullPointerException
- 指定されたコレクションが null である場合List.add(Object)
public boolean removeAll(Collection c)
List
内の removeAll
AbstractCollection
内の removeAll
c
- Vector から削除される要素のコレクション
NullPointerException
- 指定されたコレクションが null である場合List.remove(Object)
,
List.contains(Object)
public boolean retainAll(Collection c)
List
内の retainAll
AbstractCollection
内の retainAll
c
- Vector に保持されている要素のコレクション (ほかのすべての要素は削除)
NullPointerException
- 指定されたコレクションが null である場合List.remove(Object)
,
List.contains(Object)
public boolean addAll(int index, Collection c)
List
内の addAll
AbstractList
内の addAll
index
- 指定されたコレクションから最初の要素を挿入する位置のインデックス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 は等しいものと判定されます。
List
内の equals
AbstractList
内の equals
o
- Vector と同じかどうかを比較される Object
public int hashCode()
List
内の hashCode
AbstractList
内の hashCode
Object.hashCode()
,
Object.equals(Object)
,
List.equals(Object)
public String toString()
AbstractCollection
内の toString
public List subList(int fromIndex, int toIndex)
このメソッドは、配列に一般的に見られるような、明示的な範囲操作のための要求を不要にします。リストを要求するいかなる操作もリスト全体ではなく、subList ビュー上で操作することで、範囲操作として使用できます。たとえば、次の慣用法は、指定された範囲の要素をリストから削除します。
list.subList(from, to).clear();indexOf および lastIndexOf でも同様の慣用法を作成でき、Collections クラスのアルゴリズムがすべて subList に適用できます。
基づくリスト (つまりこの List) が、返された List を介さずに「構造的に変更」された場合、このメソッドによって返された List のセマンティクスは、保証されません。構造的な変更とは、List のサイズが変更された場合や、進行中の繰り返しにより不正な結果が生じたなどの理由で List が乱れた場合です。
List
内の subList
AbstractList
内の subList
fromIndex
- subList の下端点 (これを含む)toIndex
- subList の上端点 (これを含まない)
IndexOutOfBoundsException
- 端点のインデックス値が範囲外の場合 (fromIndex < 0 || toIndex > size)
IllegalArgumentException
- 端点のインデックス値が不正な場合 (fromIndex > toIndex)
protected void removeRange(int fromIndex, int toIndex)
AbstractList
内の removeRange
fromIndex
- 削除する最初の要素のインデックスtoIndex
- 削除する最後の要素の直後のインデックス
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.