|
Foundation 1.1.2 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.util.AbstractCollection
java.util.AbstractList
java.util.Vector
public class Vector
Vector クラスは、オブジェクトの可変長配列を実装します。ここには配列と同じように、整数インデックスを使ってアクセスできる要素が格納されています。しかし、Vector のサイズは、Vector の作成後に追加および削除されたオブジェクトを格納できるように必要に応じて増やしたり減らしたりすることができます。
各ベクトルは、capacity と capacityIncrement を維持することによって記憶領域の管理を最適化しようとします。capacity は常に、少なくともベクトルの要素数に近い値であり、通常は要素数より大きくなります。これは、ベクトルに要素が追加されるとき、ベクトルの記憶領域は capacityIncrement ずつ増加するからです。多くの要素を挿入する前にアプリケーションで容量を必要な値に設定しておけば、メモリーの再配分の回数を減らすことができます。
Java 2 プラットフォーム Version 1.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 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)
指定されたオブジェクトを、ベクトルの指定された index のコンポーネントとして挿入します。 |
boolean |
isEmpty()
Vector が要素を持たないかどうかを判定します。 |
Object |
lastElement()
Vector の最後の要素を返します。 |
int |
lastIndexOf(Object elem)
Vector を末尾から検索して、指定されたオブジェクトと同じ内容の要素のインデックスを返します。 |
int |
lastIndexOf(Object elem,
int index)
指定されたインデックスから後ろ向きに指定のオブジェクトを検索し、検出されたインデックスを返します。 |
Object |
remove(int index)
この Vector 内の指定された位置から要素を削除し、後続の要素を左側に移動して、それぞれのインデックスから 1 を減算します。 |
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)
このベクトルの指定された 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 - 要素がこのベクトルに配置されるコレクション
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 内の sizeList 内の sizeAbstractCollection 内の sizepublic boolean isEmpty()
Collection 内の isEmptyList 内の isEmptyAbstractCollection 内の isEmptytrue、そうでない場合は falsepublic Enumeration elements()
Enumeration,
Iteratorpublic boolean contains(Object elem)
Collection 内の containsList 内の containsAbstractCollection 内の containselem - オブジェクト
true、そうでない場合は falsepublic int indexOf(Object elem)
equals メソッドを使って等しいかどうかを判定しながら、指定された引数と同じ内容の要素を先頭から検索します。
List 内の indexOfAbstractList 内の 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 内の lastIndexOfAbstractList 内の 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 Object elementAt(int index)
このメソッドは機能的に get メソッドと同じです。これは、List インタフェースの一部です。
index - Vector のインデックス
ArrayIndexOutOfBoundsException - index が負の場合、または Vector オブジェクトの現在のサイズよりも小さくない場合get(int),
Listpublic 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),
Listpublic void addElement(Object 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 内の toArrayList 内の toArrayAbstractCollection 内の toArrayArrays.asList(Object[])public Object[] toArray(Object[] a)
Vector が指定された配列に余裕をもって収まる場合、つまり配列が Vector よりも要素を数多く持つ場合、Vector の末尾の直後に来る配列内の要素は null に設定されます。これは、Vector がまったく null 要素を保持していないことを呼び出し側が認識している場合にだけ、Vector の長さを確認する際に役に立ちます。
Collection 内の toArrayList 内の toArrayAbstractCollection 内の toArraya - 配列が十分な大きさを持つ場合は、Vector の要素が格納される配列。そうでない場合は、要素を格納するために同じ実行時の型の新しい配列が割り当てられる
ArrayStoreException - a の実行時の型が、Vector 内の各要素の実行時の型のスーパータイプでない場合
NullPointerException - 指定された配列が null である場合public Object get(int index)
List 内の getAbstractList 内の getindex - 返される要素のインデックス
ArrayIndexOutOfBoundsException - インデックスが範囲外の場合 (index < 0 || index >= size())
public Object set(int index,
Object element)
List 内の setAbstractList 内の setindex - 置換される要素のインデックスelement - 指定された位置に格納される要素
ArrayIndexOutOfBoundsException - インデックスが範囲外の場合 (index < 0 || index >= size())public boolean add(Object o)
Collection 内の addList 内の addAbstractList 内の addo - Vector に追加される要素
public boolean remove(Object o)
(o==null ? get(i)==null :o.equals(get(i))) となる、最小のインデックス値 i を持つ要素を削除します (そのような要素が存在する場合)。
Collection 内の removeList 内の removeAbstractCollection 内の removeo - Vector から削除される要素 (その要素がある場合)
public void add(int index,
Object element)
List 内の addAbstractList 内の addindex - 指定の要素が挿入されるインデックスelement - 挿入される要素
ArrayIndexOutOfBoundsException - インデックスが範囲外の場合 (index < 0 || index > size())public Object remove(int index)
List 内の removeAbstractList 内の removeindex - 削除される要素のインデックス
ArrayIndexOutOfBoundsException - インデックスが範囲外の場合 (index < 0 || index >= size())public void clear()
Collection 内の clearList 内の clearAbstractList 内の clearpublic boolean containsAll(Collection c)
Collection 内の containsAllList 内の containsAllAbstractCollection 内の containsAllc - 要素がこの Vector に含まれているかどうかを調べるコレクション
NullPointerException - 指定されたコレクションが null である場合AbstractCollection.contains(Object)public boolean addAll(Collection c)
Collection 内の addAllList 内の addAllAbstractCollection 内の addAllc - Vector に挿入される要素
NullPointerException - 指定されたコレクションが null である場合AbstractCollection.add(Object)public boolean removeAll(Collection c)
Collection 内の removeAllList 内の removeAllAbstractCollection 内の removeAllc - Vector から削除される要素のコレクション
NullPointerException - 指定されたコレクションが null である場合AbstractCollection.remove(Object),
AbstractCollection.contains(Object)public boolean retainAll(Collection c)
Collection 内の retainAllList 内の retainAllAbstractCollection 内の retainAllc - Vector に保持されている要素のコレクション (ほかのすべての要素は削除)
NullPointerException - 指定されたコレクションが null である場合AbstractCollection.remove(Object),
AbstractCollection.contains(Object)
public boolean addAll(int index,
Collection c)
List 内の addAllAbstractList 内の 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 内の equalsList 内の equalsAbstractList 内の equalso - Vector と同じかどうかを比較される Object
Object.hashCode(),
Hashtablepublic int hashCode()
Collection 内の hashCodeList 内の hashCodeAbstractList 内の hashCodeObject.equals(java.lang.Object),
Hashtablepublic 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 内の subListAbstractList 内の subListfromIndex - subList の下端点 (これを含む)toIndex - subList の上端点 (これを含まない)
IndexOutOfBoundsException - 端点のインデックス値が範囲外の場合 (fromIndex < 0 || toIndex > size)
IllegalArgumentException - 端点のインデックス値が不正な場合 (fromIndex > toIndex)
protected void removeRange(int fromIndex,
int toIndex)
AbstractList 内の removeRangefromIndex - 削除する最初の要素のインデックスtoIndex - 削除する最後の要素の直後のインデックス
|
Foundation 1.1.2 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。