public class Vector extends AbstractList<E>
implements List<E> RandomAccess Cloneable Serializable
Known Direct Subclasses

The Vector class implements a growable array of objects. Like an array, it contains components that can be accessed using an integer index. However, the size of a Vector can grow or shrink as needed to accommodate adding and removing items after the Vector has been created.

Each vector tries to optimize storage management by maintaining a capacity and a capacityIncrement. The capacity is always at least as large as the vector size; it is usually larger because as components are added to the vector, the vector's storage increases in chunks the size of capacityIncrement. An application can increase the capacity of a vector before inserting a large number of components; this reduces the amount of incremental reallocation.

The iterators returned by this class's iterator and listIterator methods are fail-fast: if the vector is structurally modified at any time after the iterator is created, in any way except through the iterator's own remove or add methods, the iterator will throw a ConcurrentModificationException. Thus, in the face of concurrent modification, the iterator fails quickly and cleanly, rather than risking arbitrary, non-deterministic behavior at an undetermined time in the future. The Enumerations returned by the elements method are not fail-fast.

Note that the fail-fast behavior of an iterator cannot be guaranteed as it is, generally speaking, impossible to make any hard guarantees in the presence of unsynchronized concurrent modification. Fail-fast iterators throw ConcurrentModificationException on a best-effort basis. Therefore, it would be wrong to write a program that depended on this exception for its correctness: the fail-fast behavior of iterators should be used only to detect bugs.

As of the Java 2 platform v1.2, this class was retrofitted to implement the List interface, making it a member of the Java Collections Framework. Unlike the new collection implementations, Vector is synchronized. If a thread-safe implementation is not needed, it is recommended to use ArrayList in place of Vector.

Field Summary

protected int capacityIncrement The amount by which the capacity of the vector is automatically incremented when its size becomes greater than its capacity.
protected int elementCount The number of valid components in this Vector object.
protected Object[] elementData The array buffer into which the components of the vector are stored.

Inherited Field Summary

Public Constructor Summary

Vector(int initialCapacity, int capacityIncrement)
Constructs an empty vector with the specified initial capacity and capacity increment.
Vector(int initialCapacity)
Constructs an empty vector with the specified initial capacity and with its capacity increment equal to zero.
Constructs an empty vector so that its internal data array has size 10 and its standard capacity increment is zero.
Vector(Collection<? extends E> c)
Constructs a vector containing the elements of the specified collection, in the order they are returned by the collection's iterator.

Public Method Summary

add(int index, E element)
Inserts the specified element at the specified position in this Vector.
synchronized boolean
add(E e)
Appends the specified element to the end of this Vector.
synchronized boolean
addAll(int index, Collection<? extends E> c)
Inserts all of the elements in the specified Collection into this Vector at the specified position.
synchronized boolean
addAll(Collection<? extends E> c)
Appends all of the elements in the specified Collection to the end of this Vector, in the order that they are returned by the specified Collection's Iterator.
synchronized void
addElement(E obj)
Adds the specified component to the end of this vector, increasing its size by one.
synchronized int
Returns the current capacity of this vector.
Removes all of the elements from this Vector.
synchronized Object
Returns a clone of this vector.
contains(Object o)
Returns true if this vector contains the specified element.
synchronized boolean
containsAll(Collection<?> c)
Returns true if this Vector contains all of the elements in the specified Collection.
synchronized void
copyInto(Object[] anArray)
Copies the components of this vector into the specified array.
synchronized E
elementAt(int index)
Returns the component at the specified index.
Returns an enumeration of the components of this vector.
synchronized void
ensureCapacity(int minCapacity)
Increases the capacity of this vector, if necessary, to ensure that it can hold at least the number of components specified by the minimum capacity argument.
synchronized boolean
equals(Object o)
Compares the specified Object with this Vector for equality.
synchronized E
Returns the first component (the item at index 0) of this vector.
synchronized void
forEach(Consumer<? super E> action)
synchronized E
get(int index)
Returns the element at the specified position in this Vector.
synchronized int
Returns the hash code value for this Vector.
indexOf(Object o)
Returns the index of the first occurrence of the specified element in this vector, or -1 if this vector does not contain the element.
synchronized int
indexOf(Object o, int index)
Returns the index of the first occurrence of the specified element in this vector, searching forwards from index, or returns -1 if the element is not found.
synchronized void
insertElementAt(E obj, int index)
Inserts the specified object as a component in this vector at the specified index.
synchronized boolean
Tests if this vector has no components.
synchronized Iterator<E>
Returns an iterator over the elements in this list in proper sequence.
synchronized E
Returns the last component of the vector.
synchronized int
lastIndexOf(Object o)
Returns the index of the last occurrence of the specified element in this vector, or -1 if this vector does not contain the element.