Class java.util.Vector
java.lang.Object
|
+----java.util.AbstractCollection
|
+----java.util.AbstractList
|
+----java.util.Vector
- Subclasses:
- Stack
- public class Vector
- extends AbstractList
- implements List, Cloneable, Serializable
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.
As of JDK1.2, this class has been retrofitted to implement List,
so that it becomes a part of Java's collection framework. Unlike
the new collection implementations, Vector is synchronized.
The Iterators returned by Vector'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 Vector's elements method are not
fail-fast.
- Since:
- JDK1.0
- See Also:
- Collection, List, ArrayList, LinkedList
Field Summary
|
int
|
capacityIncrement
The amount by which the capacity of the vector is automatically
incremented when its size becomes greater than its capacity.
|
int
|
elementCount
The number of valid components in this Vector object.
|
Object[]
|
elementData
The array buffer into which the components of the vector are
stored.
|
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.
|
Vector()
Constructs an empty vector so that its internal data array
has size 10 and its standard capacity increment is
zero.
|
Vector(Collection c)
Constructs a vector containing the elements of the specified
collection, in the order they are returned by the collection's
iterator.
|
Method Summary
|
void
|
add(int index,
Object element)
Inserts the specified element at the specified position in this Vector.
|
boolean
|
addAll(Collection c)
Appends all of the elements in the specified Collection to the end of
this this Vector, in the order that they are returned by the specified
Collection's Iterator.
|
boolean
|
addAll(int index,
Collection c)
Inserts all of the elements in in the specified Collection into this
Vector at the specified position.
|
void
|
addElement(Object obj)
Adds the specified component to the end of this vector,
increasing its size by one.
|
int
|
capacity()
Returns the current capacity of this vector.
|
void
|
clear()
Removes all of the elements from this Vector.
|
Object
|
clone()
Returns a clone of this vector.
|
boolean
|
contains(Object elem)
Tests if the specified object is a component in this vector.
|
void
|
copyInto(Object[] anArray)
Copies the components of this vector into the specified array.
|
Object
|
elementAt(int index)
Returns the component at the specified index.
|
Enumeration
|
elements()
Returns an enumeration of the components of this vector.
|
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.
|
Object
|
firstElement()
Returns the first component (the item at index 0) of
this vector.
|
Object
|
get(int index)
Returns the element at the specified position in this Vector.
|
int
|
indexOf(Object elem)
Searches for the first occurence of the given argument, testing
for equality using the equals method.
|
int
|
indexOf(Object elem,
int index)
Searches for the first occurence of the given argument, beginning
the search at index , and testing for equality using
the equals method.
|
void
|
insertElementAt(Object obj,
int index)
Inserts the specified object as a component in this vector at the
specified index .
|
boolean
|
isEmpty()
Tests if this vector has no components.
|
Object
|
lastElement()
Returns the last component of the vector.
|
int
|
lastIndexOf(Object elem)
Returns the index of the last occurrence of the specified object in
this vector.
|
int
|
lastIndexOf(Object elem,
int index)
Searches backwards for the specified object, starting from the
specified index, and returns an index to it.
|
Object
|
remove(int index)
Removes the element at the specified position in this Vector.
|
void
|
removeAllElements()
Removes all components from this vector and sets its size to zero.
|
boolean
|
removeElement(Object obj)
Removes the first (lowest-indexed) occurrence of the argument
from this vector.
|
void
|
removeElementAt(int index)
Deletes the component at the specified index.
|
void
|
removeRange(int fromIndex,
int toIndex)
Removes from this Vector all of the elements whose index is between
fromIndex, inclusive and toIndex, exclusive.
|
Object
|
set(int index,
Object element)
Replaces the element at the specified position in this Vector with the
specified element.
|
void
|
setElementAt(Object obj,
int index)
Sets the component at the specified index of this
vector to be the specified object.
|
void
|
setSize(int newSize)
Sets the size of this vector.
|
int
|
size()
Returns the number of components in this vector.
|
Object[]
|
toArray()
Returns an array containing all of the elements in this Vector
in the correct order.
|
void
|
trimToSize()
Trims the capacity of this vector to be the vector's current
size.
|
Methods inherited from class java.util.AbstractList
|
add, add, addAll, equals, get, hashCode, indexOf, indexOf, iterator, lastIndexOf, lastIndexOf, listIterator, listIterator, remove, removeRange, set |
Methods inherited from class java.util.AbstractCollection
|
add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray, toString |
Methods inherited from class java.lang.Object
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
elementData
protected Object[] elementData
- The array buffer into which the components of the vector are
stored. The capacity of the vector is the length of this array buffer,
and is at least large enough to contain all the vector's elements.
elementCount
protected int elementCount
- The number of valid components in this Vector object.
Components elementData[0] through
elementData[elementCount-1] are the actual items.
capacityIncrement
protected int capacityIncrement
- The amount by which the capacity of the vector is automatically
incremented when its size becomes greater than its capacity. If
the capacity increment is
0
, the capacity of the
vector is doubled each time it needs to grow.
Vector
public Vector(int initialCapacity,
int capacityIncrement)
- Constructs an empty vector with the specified initial capacity and
capacity increment.
- Parameters:
initialCapacity
- the initial capacity of the vector.
capacityIncrement
- the amount by which the capacity is
increased when the vector overflows.
- Throws:
- IllegalArgumentException - if the specified initial capacity
is negative
Vector
public Vector(int initialCapacity)
- Constructs an empty vector with the specified initial capacity and
with its capacity increment equal to zero.
- Parameters:
initialCapacity
- the initial capacity of the vector.
- Throws:
- IllegalArgumentException - if the specified initial capacity
is negative
Vector
public Vector()
- Constructs an empty vector so that its internal data array
has size 10 and its standard capacity increment is
zero.
Vector
public Vector(Collection c)
- Constructs a vector containing the elements of the specified
collection, in the order they are returned by the collection's
iterator.
copyInto
public void copyInto(Object[] anArray)
- Copies the components of this vector into the specified array. The
item at index k in this vector is copied into component
k of anArray. The array must be big enough to hold
all the objects in this vector, else an
IndexOutOfBoundsException is thrown.
- Parameters:
anArray
- the array into which the components get copied.
trimToSize
public void trimToSize()
- Trims the capacity of this vector to be the vector's current
size. If the capacity of this cector is larger than its current
size, then the capacity is changed to equal the size by replacing
its internal data array, kept in the field elementData,
with a smaller one. An application can use this operation to
minimize the storage of a vector.
ensureCapacity
public 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.
If the current capacity of this
vector is less than minCapacity, then its capacity is
increased by replacing its internal data array, kept in the field
elementData, with a larger one. The size of the new data
array will be the old size plus capacityIncrement, unless
the value of capacityIncrement is nonpositive, in which
case the new capacity will be twice the old capacity; but if
this new size is still smaller than minCapacity, then the
new capacity will be minCapacity.
- Parameters:
minCapacity
- the desired minimum capacity.
setSize
public void setSize(int newSize)
- Sets the size of this vector. If the new size is greater than the
current size, new
null
items are added to the end of
the vector. If the new size is less than the current size, all
components at index newSize
and greater are discarded.
- Parameters:
newSize
- the new size of this vector.
capacity
public int capacity()
- Returns the current capacity of this vector.
- Returns:
- the current capacity (the length of its internal
data arary, kept in the field elementData
of this vector.
size
public int size()
- Returns the number of components in this vector.
- Implements:
- size in interface List
- Returns:
- the number of components in this vector.
- Overrides:
- size in class AbstractCollection
isEmpty
public boolean isEmpty()
- Tests if this vector has no components.
- Implements:
- isEmpty in interface List
- Returns:
true
if and only if this vector has
no components, that is, its size is zero;
false
otherwise.- Overrides:
- isEmpty in class AbstractCollection
elements
public Enumeration elements()
- Returns an enumeration of the components of this vector. The
returned Enumeration object will generate all items in
this vector. The first item generated is the item at index 0,
then the item at index 1, and so on.
- Returns:
- an enumeration of the components of this vector.
- See Also:
- Enumeration, Iterator
contains
public boolean contains(Object elem)
- Tests if the specified object is a component in this vector.
- Implements:
- contains in interface List
- Parameters:
elem
- an object.
- Returns:
true
if and only if the specified object
is the same as a component in this vector, as determined by the
equals method; false
otherwise.- Overrides:
- contains in class AbstractCollection
indexOf
public int indexOf(Object elem)
- Searches for the first occurence of the given argument, testing
for equality using the
equals
method.
- Implements:
- indexOf in interface List
- Parameters:
elem
- an object.
- Returns:
- the index of the first occurrence of the argument in this
vector, that is, the smallest value k such that
elem.equals(elementData[k]) is true;
returns
-1
if the object is not found. - Overrides:
- indexOf in class AbstractList
- See Also:
- equals(Object)
indexOf
public int indexOf(Object elem,
int index)
- Searches for the first occurence of the given argument, beginning
the search at
index
, and testing for equality using
the equals
method.
- Implements:
- indexOf in interface List
- Parameters:
elem
- an object.
index
- the index to start searching from.
- Returns:
- the index of the first occurrence of the object argument in
this vector at position
index
or later in the
vector, that is, the smallest value k such that
elem.equals(elementData[k]) && (k >= index) is
true; returns -1
if the object is not
found. - Overrides:
- indexOf in class AbstractList
- See Also:
- equals(Object)
lastIndexOf
public int lastIndexOf(Object elem)
- Returns the index of the last occurrence of the specified object in
this vector.
- Implements:
- lastIndexOf in interface List
- Parameters:
elem
- the desired component.
- Returns:
- the index of the last occurrence of the specified object in
this vector, that is, the largest value k such that
elem.equals(elementData[k]) is true;
returns
-1
if the object is not found. - Overrides:
- lastIndexOf in class AbstractList
lastIndexOf
public int lastIndexOf(Object elem,
int index)
- Searches backwards for the specified object, starting from the
specified index, and returns an index to it.
- Implements:
- lastIndexOf in interface List
- Parameters:
elem
- the desired component.
index
- the index to start searching from.
- Returns:
- the index of the last occurrence of the specified object in this
vector at position less than
index
in the
vector, that is, the largest value k such that
elem.equals(elementData[k]) && (k <= index) is
true; -1
if the object is not found. - Overrides:
- lastIndexOf in class AbstractList
elementAt
public Object elementAt(int index)
- Returns the component at the specified index.
This method is identical in functionality to the get method
(which is part of the List interface).
- Parameters:
index
- an index into this vector.
- Returns:
- the component at the specified index.
- Throws:
- ArrayIndexOutOfBoundsException - if the index
is negative or not less than the current size of this
Vector object.
given.
- See Also:
- get(int), List
firstElement
public Object firstElement()
- Returns the first component (the item at index 0) of
this vector.
- Returns:
- the first component of this vector.
- Throws:
- NoSuchElementException - if this vector has no components.
lastElement
public Object lastElement()
- Returns the last component of the vector.
- Returns:
- the last component of the vector, i.e., the component at index
size() - 1
. - Throws:
- NoSuchElementException - if this vector is empty.
setElementAt
public void setElementAt(Object obj,
int index)
- Sets the component at the specified
index
of this
vector to be the specified object. The previous component at that
position is discarded.
The index must be a value greater than or equal to 0
and less than the current size of the vector.
This method is identical in functionality to the set method
(which is part of the List interface). Note that the set method reverses
the order of the parameters, to more closely match array usage. Note
also that the set method returns the old value that was stored at the
specified position.
- Parameters:
obj
- what the component is to be set to.
index
- the specified index.
- Throws:
- ArrayIndexOutOfBoundsException - if the index was invalid.
- See Also:
- size(), List, set
removeElementAt
public void removeElementAt(int index)
- Deletes the component at the specified index. Each component in
this vector with an index greater or equal to the specified
index
is shifted downward to have an index one
smaller than the value it had previously. The size of this vector
is decreased by 1.
The index must be a value greater than or equal to 0
and less than the current size of the vector.
This method is identical in functionality to the remove method
(which is part of the List interface). Note that the remove method
returns the old value that was stored at the specified position.
- Parameters:
index
- the index of the object to remove.
- Throws:
- ArrayIndexOutOfBoundsException - if the index was invalid.
- See Also:
- size(), remove(int), List
insertElementAt
public void insertElementAt(Object obj,
int index)
- Inserts the specified object as a component in this vector at the
specified
index
. Each component in this vector with
an index greater or equal to the specified index
is
shifted upward to have an index one greater than the value it had
previously.
The index must be a value greater than or equal to 0
and less than or equal to the current size of the vector.
This method is identical in functionality to the add(Object, int) method
(which is part of the List interface). Note that the add method reverses
the order of the parameters, to more closely match array usage.
- Parameters:
obj
- the component to insert.
index
- where to insert the new component.
- Throws:
- ArrayIndexOutOfBoundsException - if the index was invalid.
- See Also:
- size(), add(Object, int), List
addElement
public void addElement(Object obj)
- Adds the specified component to the end of this vector,
increasing its size by one. The capacity of this vector is
increased if its size becomes greater than its capacity.
This method is identical in functionality to the add(Object) method
(which is part of the List interface).
- Parameters:
obj
- the component to be added.
- See Also:
- add(Object), List
removeElement
public boolean removeElement(Object obj)
- Removes the first (lowest-indexed) occurrence of the argument
from this vector. If the object is found in this vector, each
component in the vector with an index greater or equal to the
object's index is shifted downward to have an index one smaller
than the value it had previously.
This method is identical in functionality to the remove(Object)
method (which is part of the List interface).
- Parameters:
obj
- the component to be removed.
- Returns:
true
if the argument was a component of this
vector; false
otherwise.- See Also:
- remove(Object), List
removeAllElements
public void removeAllElements()
- Removes all components from this vector and sets its size to zero.
This method is identical in functionality to the clear method
(which is part of the List interface).
- See Also:
- clear, List
clone
public Object clone()
- Returns a clone of this vector. The copy will contain a
reference to a clone of the internal data array, not a reference
to the original internal data array of this Vector object.
- Returns:
- a clone of this vector.
- Overrides:
- clone in class Object
toArray
public Object[] toArray()
- Returns an array containing all of the elements in this Vector
in the correct order.
- Implements:
- toArray in interface List
- Overrides:
- toArray in class AbstractCollection
get
public Object get(int index)
- Returns the element at the specified position in this Vector.
- Implements:
- get in interface List
- Parameters:
index
- index of element to return.
- Throws:
- ArrayIndexOutOfBoundsException - index is out of range (index
< 0 || index >= size()).
- Overrides:
- get in class AbstractList
set
public Object set(int index,
Object element)
- Replaces the element at the specified position in this Vector with the
specified element.
- Implements:
- set in interface List
- Parameters:
index
- index of element to replace.
element
- element to be stored at the specified position.
- Returns:
- the element previously at the specified position.
- Throws:
- ArrayIndexOutOfBoundsException - index out of range
(index < 0 || index >= size()).
- IllegalArgumentException - fromIndex > toIndex.
- Overrides:
- set in class AbstractList
add
public void add(int index,
Object element)
- Inserts the specified element at the specified position in this Vector.
Shifts the element currently at that position (if any) and any
subsequent elements to the right (adds one to their indices).
- Implements:
- add in interface List
- Parameters:
index
- index at which the specified element is to be inserted.
element
- element to be inserted.
- Throws:
- ArrayIndexOutOfBoundsException - index is out of range
(index < 0 || index > size()).
- Overrides:
- add in class AbstractList
remove
public Object remove(int index)
- Removes the element at the specified position in this Vector.
shifts any subsequent elements to the left (subtracts one from their
indices). Returns the element that was removed from the Vector.
- Implements:
- remove in interface List
- Parameters:
index
- the index of the element to removed.
- Throws:
- ArrayIndexOutOfBoundsException - index out of range (index
< 0 || index >= size()).
- Overrides:
- remove in class AbstractList
clear
public void clear()
- Removes all of the elements from this Vector. The Vector will
be empty after this call returns (unless it throws an exception).
- Implements:
- clear in interface List
- Throws:
- UnsupportedOperationException - clear is not supported
by this Set.
- Overrides:
- clear in class AbstractCollection
addAll
public boolean addAll(Collection c)
- Appends all of the elements in the specified Collection to the end of
this this Vector, in the order that they are returned by the specified
Collection's Iterator. The behavior of this operation is undefined if
the specified Collection is modified while the operation is in progress.
(This implies that the behavior of this call is undefined if the the
specified Collection is this Vector, and this Vector is nonempty.)
- Implements:
- addAll in interface List
- Parameters:
index
- index at which to insert first element
from the specified collection.
c
- elements to be inserted into this Vector.
- Throws:
- ArrayIndexOutOfBoundsException - index out of range (index
< 0 || index > size()).
- Overrides:
- addAll in class AbstractCollection
removeRange
public void removeRange(int fromIndex,
int toIndex)
- Removes from this Vector all of the elements whose index is between
fromIndex, inclusive and toIndex, exclusive. Shifts any succeeding
elements to the left (reduces their index).
This call shortens the Vector by (toIndex - fromIndex) elements. (If
toIndex==fromIndex, this operation has no effect.)
- Implements:
- removeRange in interface List
- Parameters:
fromIndex
- index of first element to be removed.
fromIndex
- index after last element to be removed.
- Throws:
- ArrayIndexOutOfBoundsException - fromIndex or toIndex out of
range (fromIndex < 0 || fromIndex >= size() || toIndex
> size() || toIndex < fromIndex).
- Overrides:
- removeRange in class AbstractList
addAll
public boolean addAll(int index,
Collection c)
- Inserts all of the elements in in the specified Collection into this
Vector at the specified position. Shifts the element currently at
that position (if any) and any subsequent elements to the right
(increases their indices). The new elements will appear in the Vector
in the order that they are returned by the specified Collection's
iterator.
- Implements:
- addAll in interface List
- Parameters:
index
- index at which to insert first element
from the specified collection.
c
- elements to be inserted into this Vector.
- Throws:
- ArrayIndexOutOfBoundsException - index out of range (index
< 0 || index > size()).
- Overrides:
- addAll in class AbstractList
Submit a bug or feature
Submit comments/suggestions about new javadoc look.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. All Rights Reserved.