Vectors in java util

Class Vector

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; if the Vector is structurally modified at any time after the enumeration is created then the results of enumerating are undefined.

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 .

Источник

Class Vector

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; if the Vector is structurally modified at any time after the enumeration is created then the results of enumerating are undefined.

Читайте также:  Заполнение двумерного массива python случайными числами

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 .

Источник

Vectors in java util

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; if the Vector is structurally modified at any time after the enumeration is created then the results of enumerating are undefined. 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 .

Читайте также:  Remove string with javascript

Field Summary

The amount by which the capacity of the vector is automatically incremented when its size becomes greater than its capacity.

Fields declared in class java.util.AbstractList

Constructor Summary

Constructs an empty vector so that its internal data array has size 10 and its standard capacity increment is zero.

Constructs an empty vector with the specified initial capacity and with its capacity increment equal to zero.

Constructs a vector containing the elements of the specified collection, in the order they are returned by the collection’s iterator.

Method Summary

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.

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.

Performs the given action for each element of the Iterable until all elements have been processed or the action throws an exception.

Returns the index of the first occurrence of the specified element in this vector, or -1 if this vector does not contain the element.

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.

Returns the index of the last occurrence of the specified element in this vector, or -1 if this vector does not contain the element.

Returns the index of the last occurrence of the specified element in this vector, searching backwards from index , or returns -1 if the element is not found.

Returns a list iterator over the elements in this list (in proper sequence), starting at the specified position in the list.

Removes the first occurrence of the specified element in this Vector If the Vector does not contain the element, it is unchanged.

Removes from this list all of the elements whose index is between fromIndex , inclusive, and toIndex , exclusive.

Returns an array containing all of the elements in this Vector in the correct order; the runtime type of the returned array is that of the specified array.

Returns a string representation of this Vector, containing the String representation of each element.

Читайте также:  Форма регистрации пользователя html

Methods declared in class java.lang.Object

Methods declared in interface java.util.Collection

Methods declared in interface java.util.List

Field Detail

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. Any array elements following the last element in the Vector are null.

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 less than or equal to zero, the capacity of the vector is doubled each time it needs to grow.

Constructor Detail

Vector

public Vector​(int initialCapacity, int capacityIncrement)

Vector

public 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

Constructs a vector containing the elements of the specified collection, in the order they are returned by the collection’s iterator.

Method Detail

copyInto

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 .

trimToSize

Trims the capacity of this vector to be the vector’s current size. If the capacity of this vector 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 less than or equal to zero, 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 .

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.

capacity

Источник

Оцените статью