|
Foundation 1.1.2 | |||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.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
内の size
List
内の size
AbstractCollection
内の size
public boolean isEmpty()
Collection
内の isEmpty
List
内の isEmpty
AbstractCollection
内の isEmpty
true
、そうでない場合は false
public Enumeration elements()
Enumeration
,
Iterator
public boolean contains(Object elem)
Collection
内の contains
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()
Collection
内の toArray
List
内の toArray
AbstractCollection
内の toArray
Arrays.asList(Object[])
public Object[] toArray(Object[] a)
Vector が指定された配列に余裕をもって収まる場合、つまり配列が Vector よりも要素を数多く持つ場合、Vector の末尾の直後に来る配列内の要素は null に設定されます。これは、Vector がまったく null 要素を保持していないことを呼び出し側が認識している場合にだけ、Vector の長さを確認する際に役に立ちます。
Collection
内の toArray
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)
Collection
内の add
List
内の add
AbstractList
内の add
o
- Vector に追加される要素
public boolean remove(Object o)
(o==null ? get(i)==null :o.equals(get(i)))
となる、最小のインデックス値 i を持つ要素を削除します (そのような要素が存在する場合)。
Collection
内の remove
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()
Collection
内の clear
List
内の clear
AbstractList
内の clear
public boolean containsAll(Collection c)
Collection
内の containsAll
List
内の containsAll
AbstractCollection
内の containsAll
c
- 要素がこの Vector に含まれているかどうかを調べるコレクション
NullPointerException
- 指定されたコレクションが null である場合AbstractCollection.contains(Object)
public boolean addAll(Collection c)
Collection
内の addAll
List
内の addAll
AbstractCollection
内の addAll
c
- Vector に挿入される要素
NullPointerException
- 指定されたコレクションが null である場合AbstractCollection.add(Object)
public boolean removeAll(Collection c)
Collection
内の removeAll
List
内の removeAll
AbstractCollection
内の removeAll
c
- Vector から削除される要素のコレクション
NullPointerException
- 指定されたコレクションが null である場合AbstractCollection.remove(Object)
,
AbstractCollection.contains(Object)
public boolean retainAll(Collection c)
Collection
内の retainAll
List
内の retainAll
AbstractCollection
内の retainAll
c
- Vector に保持されている要素のコレクション (ほかのすべての要素は削除)
NullPointerException
- 指定されたコレクションが null である場合AbstractCollection.remove(Object)
,
AbstractCollection.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 は等しいものと判定されます。
Collection
内の equals
List
内の equals
AbstractList
内の equals
o
- Vector と同じかどうかを比較される Object
Object.hashCode()
,
Hashtable
public int hashCode()
Collection
内の hashCode
List
内の hashCode
AbstractList
内の hashCode
Object.equals(java.lang.Object)
,
Hashtable
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
- 削除する最後の要素の直後のインデックス
|
Foundation 1.1.2 | |||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。