java.util
public class Vector<T> extends AbstractList<T> implements List<T>, RandomAccess, Cloneable, Serializable
Vector
classes implements growable arrays of Objects.
You can access elements in a Vector with an index, just as you
can in a built in array, but Vectors can grow and shrink to accommodate
more or fewer objects.
Vectors try to mantain efficiency in growing by having a
capacityIncrement
that can be specified at instantiation.
When a Vector can no longer hold a new Object, it grows by the amount
in capacityIncrement
. If this value is 0, the vector doubles in
size.
Vector implements the JDK 1.2 List interface, and is therefore a fully compliant Collection object. The iterators are fail-fast - if external code structurally modifies the vector, any operation on the iterator will then throw a {@link ConcurrentModificationException}. The Vector class is fully synchronized, but the iterators are not. So, when iterating over a vector, be sure to synchronize on the vector itself. If you don't want the expense of synchronization, use ArrayList instead. On the other hand, the Enumeration of elements() is not thread-safe, nor is it fail-fast; so it can lead to undefined behavior even in a single thread if you modify the vector during iteration.
Note: Some methods, especially those specified by List, specify throwing {@link IndexOutOfBoundsException}, but it is easier to implement by throwing the subclass {@link ArrayIndexOutOfBoundsException}. Others directly specify this subclass.
Since: 1.0
See Also: Collection List ArrayList LinkedList
UNKNOWN: updated to 1.4
Field Summary | |
---|---|
protected int | capacityIncrement
The amount the Vector's internal array should be increased in size when
a new element is added that exceeds the current size of the array,
or when {@link #ensureCapacity} is called. |
protected int | elementCount
The number of elements currently in the vector, also returned by
{@link #size}. |
protected T[] | elementData
The internal array used to hold members of a Vector. |
Constructor Summary | |
---|---|
Vector()
Constructs an empty vector with an initial size of 10, and
a capacity increment of 0 | |
Vector(Collection<? extends T> c)
Constructs a vector containing the contents of Collection, in the
order given by the collection.
| |
Vector(int initialCapacity, int capacityIncrement)
Constructs a Vector with the initial capacity and capacity
increment specified.
| |
Vector(int initialCapacity)
Constructs a Vector with the initial capacity specified, and a capacity
increment of 0 (double in size).
|
Method Summary | |
---|---|
boolean | add(T o)
Adds an object to the Vector.
|
void | add(int index, T element)
Adds an object at the specified index. |
boolean | addAll(Collection<? extends T> c)
Appends all elements of the given collection to the end of this Vector.
|
boolean | addAll(int index, Collection<? extends T> c)
Inserts all elements of the given collection at the given index of
this Vector. |
void | addElement(T obj)
Adds an element to the Vector at the end of the Vector. |
int | capacity()
Returns the size of the internal data array (not the amount of elements
contained in the Vector).
|
void | clear()
Clears all elements in the Vector and sets its size to 0. |
Object | clone()
Creates a new Vector with the same contents as this one. |
boolean | contains(Object elem)
Returns true when elem is contained in this Vector.
|
boolean | containsAll(Collection<?> c)
Returns true if this Vector contains all the elements in c.
|
void | copyInto(Object[] a)
Copies the contents of the Vector into the provided array. |
T | elementAt(int index)
Returns the Object stored at index .
|
Enumeration<T> | elements()
Returns an Enumeration of the elements of this Vector. |
void | ensureCapacity(int minCapacity)
Ensures that minCapacity elements can fit within this Vector.
|
boolean | equals(Object o)
Compares this to the given object.
|
T | firstElement()
Returns the first element (index 0) in the Vector.
|
T | get(int index)
Returns the element at position index .
|
int | hashCode()
Computes the hashcode of this object.
|
int | indexOf(Object elem)
Returns the first occurrence of elem in the Vector, or -1 if
elem is not found.
|
int | indexOf(Object e, int index)
Searches the vector starting at index for object
elem and returns the index of the first occurrence of this
Object. |
void | insertElementAt(T obj, int index)
Inserts a new element into the Vector at index . |
boolean | isEmpty()
Returns true if this Vector is empty, false otherwise
|
T | lastElement()
Returns the last element in the Vector.
|
int | lastIndexOf(Object elem)
Returns the last index of elem within this Vector, or -1
if the object is not within the Vector.
|
int | lastIndexOf(Object e, int index)
Returns the index of the first occurrence of elem , when
searching backwards from index . |
boolean | remove(Object o)
Removes the given Object from the Vector. |
T | remove(int index)
Removes the element at the specified index, and returns it.
|
boolean | removeAll(Collection<?> c)
Remove from this vector all elements contained in the given collection.
|
void | removeAllElements()
Removes all elements from the Vector. |
boolean | removeElement(Object obj)
Removes the first (the lowest index) occurrence of the given object from
the Vector. |
void | removeElementAt(int index)
Removes the element at index , and shifts all elements at
positions greater than index to their index - 1.
|
protected void | removeRange(int fromIndex, int toIndex)
Removes a range of elements from this list.
|
boolean | retainAll(Collection<?> c)
Retain in this vector only the elements contained in the given collection.
|
T | set(int index, T element)
Puts element into the Vector at position index
and returns the Object that previously occupied that position.
|
void | setElementAt(T obj, int index)
Changes the element at index to be obj
|
void | setSize(int newSize)
Explicitly sets the size of the vector (but not necessarily the size of
the internal data array). |
int | size()
Returns the number of elements stored in this Vector.
|
List<T> | subList(int fromIndex, int toIndex)
Obtain a List view of a subsection of this list, from fromIndex
(inclusive) to toIndex (exclusive). |
Object[] | toArray()
Returns an Object array with the contents of this Vector, in the order
they are stored within this Vector. |
<S> S[] | toArray(S[] a)
Returns an array containing the contents of this Vector.
|
String | toString()
Returns a string representation of this Vector in the form
"[element0, element1, ... elementN]".
|
void | trimToSize()
Trims the Vector down to size. |
Serial: the amount to grow the vector by
Serial: the size
Serial: the elements
Parameters: c collection of elements to add to the new vector
Throws: NullPointerException if c is null
Since: 1.2
Parameters: initialCapacity the initial size of the Vector's internal array capacityIncrement the amount the internal array should be increased by when necessary, 0 to double the size
Throws: IllegalArgumentException if initialCapacity < 0
Parameters: initialCapacity the initial size of the Vector's internal array
Throws: IllegalArgumentException if initialCapacity < 0
Parameters: o the element to add to the Vector
Returns: true, as specified by List
Since: 1.2
Parameters: index the index at which to add the element element the element to add to the Vector
Throws: ArrayIndexOutOfBoundsException index < 0 || index > size()
Since: 1.2
Parameters: c the collection to append
Returns: true if this vector changed, in other words c was not empty
Throws: NullPointerException if c is null
Since: 1.2
Parameters: c the collection to append
Returns: true if this vector changed, in other words c was not empty
Throws: NullPointerException if c is null ArrayIndexOutOfBoundsException index < 0 || index > size()
Since: 1.2
Parameters: obj the object to add to the Vector
Returns: capacity of the internal data array
Returns: the clone of this vector
elem
is contained in this Vector.
Parameters: elem the element to check
Returns: true if the object is contained in this Vector, false otherwise
Parameters: c the collection to compare to
Returns: true if this vector contains all elements of c
Throws: NullPointerException if c is null
Since: 1.2
Parameters: a target array for the copy
Throws: IndexOutOfBoundsException the array is not large enough NullPointerException the array is null
See Also: (Object[])
index
.
Parameters: index the index of the Object to retrieve
Returns: the object at index
Throws: ArrayIndexOutOfBoundsException index < 0 || index >= size()
See Also: Vector
Returns: an Enumeration
See Also: Vector
minCapacity
elements can fit within this Vector.
If elementData
is too small, it is expanded as follows:
If the elementCount + capacityIncrement
is adequate, that
is the new size. If capacityIncrement
is non-zero, the
candidate size is double the current. If that is not enough, the new
size is minCapacity
.
Parameters: minCapacity the desired minimum capacity, negative values ignored
Parameters: o the object to compare to
Returns: true if the two are equal
Since: 1.2
Returns: the first Object in the Vector
Throws: NoSuchElementException the Vector is empty
index
.
Parameters: index the position from which an element will be retrieved
Returns: the element at that position
Throws: ArrayIndexOutOfBoundsException index < 0 || index >= size()
Since: 1.2
Returns: the hashcode
Since: 1.2
elem
in the Vector, or -1 if
elem
is not found.
Parameters: elem the object to search for
Returns: the index of the first occurrence, or -1 if not found
index
for object
elem
and returns the index of the first occurrence of this
Object. If the object is not found, or index is larger than the size
of the vector, -1 is returned.
Parameters: e the Object to search for index start searching at this index
Returns: the index of the next occurrence, or -1 if it is not found
Throws: IndexOutOfBoundsException if index < 0
index
. Any elements
at or greater than index are shifted up one position.
Parameters: obj the object to insert index the index at which the object is inserted
Throws: ArrayIndexOutOfBoundsException index < 0 || index > size()
See Also: Vector
Returns: true if the Vector is empty, false otherwise
Returns: the last Object in the Vector
Throws: NoSuchElementException the Vector is empty
elem
within this Vector, or -1
if the object is not within the Vector.
Parameters: elem the object to search for
Returns: the last index of the object, or -1 if not found
elem
, when
searching backwards from index
. If the object does not
occur in this Vector, or index is less than 0, -1 is returned.
Parameters: e the object to search for index the index to start searching in reverse from
Returns: the index of the Object if found, -1 otherwise
Throws: IndexOutOfBoundsException if index >= size()
Parameters: o the object to remove from the Vector
Returns: true if the Object existed in the Vector, false otherwise
Since: 1.2
Parameters: index the position from which to remove the element
Returns: the object removed
Throws: ArrayIndexOutOfBoundsException index < 0 || index >= size()
Since: 1.2
Parameters: c the collection to filter out
Returns: true if this vector changed
Throws: NullPointerException if c is null
Since: 1.2
See Also: clear
Parameters: obj the object to remove from the Vector
Returns: true if the Object was in the Vector, false otherwise
See Also: remove
index
, and shifts all elements at
positions greater than index to their index - 1.
Parameters: index the index of the element to remove
Throws: ArrayIndexOutOfBoundsException index < 0 || index >= size();
See Also: Vector
Parameters: fromIndex the index to start deleting from (inclusive) toIndex the index to delete up to (exclusive)
Throws: IndexOutOfBoundsException if fromIndex > toIndex
Parameters: c the collection to filter by
Returns: true if this vector changed
Throws: NullPointerException if c is null
Since: 1.2
element
into the Vector at position index
and returns the Object that previously occupied that position.
Parameters: index the index within the Vector to place the Object element the Object to store in the Vector
Returns: the previous object at the specified index
Throws: ArrayIndexOutOfBoundsException index < 0 || index >= size()
Since: 1.2
index
to be obj
Parameters: obj the object to store index the position in the Vector to store the object
Throws: ArrayIndexOutOfBoundsException the index is out of range
See Also: Vector
Parameters: newSize The new size of the internal array
Throws: ArrayIndexOutOfBoundsException if the new size is negative
Returns: the number of elements in this Vector
Parameters: fromIndex the index that the returned list should start from (inclusive) toIndex the index that the returned list should go to (exclusive)
Returns: a List backed by a subsection of this vector
Throws: IndexOutOfBoundsException if fromIndex < 0 || toIndex > size() IllegalArgumentException if fromIndex > toIndex
Since: 1.2
See Also: ConcurrentModificationException
Returns: an Object[] containing the contents of this Vector in order
Since: 1.2
Parameters: a an array to copy the Vector into if large enough
Returns: an array with the contents of this Vector in order
Throws: ArrayStoreException the runtime type of the provided array
cannot hold the elements of the Vector NullPointerException if a
is null
Since: 1.2
Returns: the String representation of this Vector