public class Vector
extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, Serializable
java.lang.Object | |||
↳ | java.util.AbstractCollection<E> | ||
↳ | java.util.AbstractList<E> | ||
↳ | java.util.Vector<E> |
Known Direct Subclasses
Stack<E>
|
Vector
类实现了可增长的对象数组。 像数组一样,它包含可以使用整数索引访问的组件。 但是, Vector
的大小可根据需要增大或Vector
,以适应在创建Vector
之后添加和删除项目。
每个向量都尝试通过维护capacity
和capacityIncrement
来优化存储管理。 capacity
总是至少与矢量大小一样大; 它通常更大,因为随着组件添加到矢量中,矢量的存储大小增加capacityIncrement
的大小。 插入大量组件之前,应用程序可以增加矢量的容量; 这减少了增量重新分配的量。
The iterators returned by this class's
iterator
和listIterator
方法是快速失败的 :如果在迭代器创建后的任何时候,结构性地修改了向量,除了通过迭代器自己的remove
或add
方法之外,迭代器将抛出ConcurrentModificationException
。 因此,面对并发修改,迭代器快速而干净地失败,而不是在将来某个未确定的时间冒着任意的,非确定性的行为风险。 该Enumerations
由返回elements
方法不是快速失败的。
请注意,迭代器的故障快速行为无法得到保证,因为一般来说,在存在非同步并发修改的情况下不可能做出任何硬性保证。 失败快速迭代器尽最大努力抛出ConcurrentModificationException
。 因此,编写一个依赖于此异常的程序是正确的: 迭代器的快速失败行为应仅用于检测错误。
从Java 2平台v1.2开始,这个类被改进以实现List
接口,使其成为Java Collections Framework的成员。 与新的集合实现不同, Vector
已同步。 如果不需要线程安全实现,则建议使用ArrayList
来代替Vector
。
也可以看看:
Fields |
|
---|---|
protected int |
capacityIncrement 矢量的容量在其容量大于容量时自动增加的量。 |
protected int |
elementCount 此 |
protected Object[] |
elementData 存储向量组件的数组缓冲区。 |
Inherited fields |
---|
From class java.util.AbstractList
|
Public constructors |
|
---|---|
Vector(int initialCapacity, int capacityIncrement) 用指定的初始容量和容量增量构造一个空向量。 |
|
Vector(int initialCapacity) 构造一个具有指定初始容量和容量增量等于零的空向量。 |
|
Vector() 构造一个空矢量,使其内部数据数组的大小为 |
|
Vector(Collection<? extends E> c) 按照集合迭代器返回的顺序构造一个包含指定集合元素的向量。 |
Public methods |
|
---|---|
void |
add(int index, E element) 将指定的元素插入此向量中的指定位置。 |
boolean |
add(E e) 将指定的元素附加到此向量的末尾。 |
boolean |
addAll(int index, Collection<? extends E> c) 将指定Collection中的所有元素插入指定位置的Vector中。 |
boolean |
addAll(Collection<? extends E> c) 将指定集合中的所有元素追加到该Vector的结尾,按照它们由指定集合的迭代器返回的顺序。 |
void |
addElement(E obj) 将指定的组件添加到此向量的末尾,将其大小增加1。 |
int |
capacity() 返回此矢量的当前容量。 |
void |
clear() 删除此矢量中的所有元素。 |
Object |
clone() 返回此矢量的克隆。 |
boolean |
contains(Object o) 如果此向量包含指定的元素,则返回 |
boolean |
containsAll(Collection<?> c) 如果此Vector包含指定集合中的所有元素,则返回true。 |
void |
copyInto(Object[] anArray) 将此向量的组件复制到指定的数组中。 |
E |
elementAt(int index) 返回指定索引处的组件。 |
Enumeration<E> |
elements() 返回此向量组件的枚举。 |
void |
ensureCapacity(int minCapacity) 如有必要,增加此矢量的容量,以确保它至少可容纳由最小容量参数指定的组件数。 |
boolean |
equals(Object o) 将指定的Object与此Vector进行比较以获得相等性。 |
E |
firstElement() 返回此向量的第一个组件(索引为 |
void |
forEach(Consumer<? super E> action) |
E |
get(int index) 返回此向量中指定位置的元素。 |
int |
hashCode() 返回此向量的哈希码值。 |
int |
indexOf(Object o) 返回此矢量中指定元素第一次出现的索引,如果此矢量不包含元素,则返回-1。 |
int |
indexOf(Object o, int index) 返回此向量中指定元素第一次出现的索引,从 |
void |
insertElementAt(E obj, int index) 在指定的 |
boolean |
isEmpty() 测试该向量是否没有组件。 |
Iterator<E> |
iterator() 以适当的顺序返回此列表中元素的迭代器。 |
E |
lastElement() 返回矢量的最后一个分量。 |
int |
lastIndexOf(Object o) 返回此矢量中指定元素的最后出现位置的索引,如果此矢量不包含该元素,则返回-1。 |
int |
lastIndexOf(Object o, int index) 返回此矢量中指定元素最后出现的索引,从 |
ListIterator<E> |
listIterator(int index) 从列表中的指定位置开始,返回此列表中元素的列表迭代器(以正确的顺序)。 |
ListIterator<E> |
listIterator() 返回此列表中元素的列表迭代器(按适当顺序)。 |
boolean |
remove(Object o) 删除此Vector中第一次出现的指定元素如果Vector不包含该元素,则不会改变。 |
E |
remove(int index) 删除此向量中指定位置的元素。 |
boolean |
removeAll(Collection<?> c) 从此向量中移除指定集合中包含的所有元素。 |
void |
removeAllElements() 从该矢量中移除所有组件,并将其大小设置为零。 |
boolean |
removeElement(Object obj) 从该向量中移除参数的第一个(最低索引)事件。 |
void |
removeElementAt(int index) 删除指定索引处的组件。 |
boolean |
removeIf(Predicate<? super E> filter) 删除此集合中满足给定谓词的所有元素。 |
void |
replaceAll(UnaryOperator<E> operator) 用将运算符应用于该元素的结果替换此列表中的每个元素。 |
boolean |
retainAll(Collection<?> c) 只保留包含在指定集合中的Vector中的元素。 |
E |
set(int index, E element) 用指定的元素替换此Vector中指定位置的元素。 |
void |
setElementAt(E obj, int index) 将此向量的指定 |
void |
setSize(int newSize) 设置此矢量的大小。 |
int |
size() 返回此向量中组件的数量。 |
void |
sort(Comparator<? super E> c) 使用提供的 |
Spliterator<E> |
spliterator() 通过此列表中的元素创建 late-binding和 快速故障 |
List<E> |
subList(int fromIndex, int toIndex) 返回fromIndex(包含)和toIndex(独占)之间此列表部分的视图。 |
Object[] |
toArray() 以正确的顺序返回包含此Vector中所有元素的数组。 |
<T> T[] |
toArray(T[] a) 以正确的顺序返回包含此Vector中所有元素的数组; 返回数组的运行时类型是指定数组的运行时类型。 |
String |
toString() 返回此Vector的字符串表示形式,其中包含每个元素的字符串表示形式。 |
void |
trimToSize() 将此矢量的容量修剪为矢量的当前大小。 |
Protected methods |
|
---|---|
void |
removeRange(int fromIndex, int toIndex) 从列表中删除索引在 |
Inherited methods |
|
---|---|
From class java.util.AbstractList
|
|
From class java.util.AbstractCollection
|
|
From class java.lang.Object
|
|
From interface java.util.List
|
|
From interface java.util.Collection
|
|
From interface java.lang.Iterable
|
int capacityIncrement
矢量的容量在其容量大于容量时自动增加的量。 如果容量增量小于或等于零,则每次需要增加时,矢量的容量就会增加一倍。
int elementCount
此Vector
对象中有效组件的数量。 组件elementData[0]
到elementData[elementCount-1]
是实际项目。
Object[] elementData
存储向量组件的数组缓冲区。 该向量的容量是该数组缓冲区的长度,并且至少足够大以包含所有向量的元素。
Vector中最后一个元素后面的任何数组元素都为null。
Vector (int initialCapacity, int capacityIncrement)
用指定的初始容量和容量增量构造一个空向量。
Parameters | |
---|---|
initialCapacity |
int : the initial capacity of the vector |
capacityIncrement |
int : the amount by which the capacity is increased when the vector overflows |
Throws | |
---|---|
IllegalArgumentException |
if the specified initial capacity is negative |
Vector (int initialCapacity)
构造一个具有指定初始容量和容量增量等于零的空向量。
Parameters | |
---|---|
initialCapacity |
int : the initial capacity of the vector |
Throws | |
---|---|
IllegalArgumentException |
if the specified initial capacity is negative |
Vector (Collection<? extends E> c)
按照集合迭代器返回的顺序构造一个包含指定集合元素的向量。
Parameters | |
---|---|
c |
Collection : the collection whose elements are to be placed into this vector |
Throws | |
---|---|
NullPointerException |
if the specified collection is null |
void add (int index, E element)
将指定的元素插入此向量中的指定位置。 将当前位置的元素(如果有的话)和任何后续元素移到右侧(将其中的一个添加到它们的索引)。
Parameters | |
---|---|
index |
int : index at which the specified element is to be inserted |
element |
E : element to be inserted |
Throws | |
---|---|
ArrayIndexOutOfBoundsException |
if the index is out of range (index < 0 || index > size() ) |
boolean add (E e)
将指定的元素附加到此向量的末尾。
Parameters | |
---|---|
e |
E : element to be appended to this Vector |
Returns | |
---|---|
boolean |
true (as specified by add(E) ) |
boolean addAll (int index, Collection<? extends E> c)
将指定Collection中的所有元素插入指定位置的Vector中。 将当前在该位置的元素(如果有的话)和随后的元素移到右侧(增加它们的索引)。 新元素将按照它们由指定Collection的迭代器返回的顺序出现在Vector中。
Parameters | |
---|---|
index |
int : index at which to insert the first element from the specified collection |
c |
Collection : elements to be inserted into this Vector |
Returns | |
---|---|
boolean |
true if this Vector changed as a result of the call |
Throws | |
---|---|
ArrayIndexOutOfBoundsException |
if the index is out of range (index < 0 || index > size() ) |
NullPointerException |
if the specified collection is null |
boolean addAll (Collection<? extends E> c)
将指定集合中的所有元素追加到该Vector的结尾,按照它们由指定集合的迭代器返回的顺序。 如果指定的Collection在操作正在进行时被修改,则此操作的行为未定义。 (这意味着如果指定的Collection是此Vector,并且此Vector不为空,则此调用的行为是未定义的。)
Parameters | |
---|---|
c |
Collection : elements to be inserted into this Vector |
Returns | |
---|---|
boolean |
true if this Vector changed as a result of the call |
Throws | |
---|---|
NullPointerException |
if the specified collection is null |
void addElement (E obj)
将指定的组件添加到此向量的末尾,将其大小增加1。 如果它的大小大于它的容量,这个矢量的容量就会增加。
此方法在功能上与 add(E)
方法(它是 List
接口的一部分) List
。
Parameters | |
---|---|
obj |
E : the component to be added |
int capacity ()
返回此矢量的当前容量。
Returns | |
---|---|
int |
the current capacity (the length of its internal data array, kept in the field elementData of this vector) |
Object clone ()
返回此矢量的克隆。 该副本将包含对内部数据数组的克隆的引用,而不是对此Vector
对象的原始内部数据数组的Vector
。
Returns | |
---|---|
Object |
a clone of this vector |
boolean contains (Object o)
如果此向量包含指定的元素,则返回true
。 更正式地说,返回true
当且仅当该向量包含至少一个元素e
例如(o==null ? e==null : o.equals(e)) 。
Parameters | |
---|---|
o |
Object : element whose presence in this vector is to be tested |
Returns | |
---|---|
boolean |
true if this vector contains the specified element |
boolean containsAll (Collection<?> c)
如果此Vector包含指定集合中的所有元素,则返回true。
Parameters | |
---|---|
c |
Collection : a collection whose elements will be tested for containment in this Vector |
Returns | |
---|---|
boolean |
true if this Vector contains all of the elements in the specified collection |
Throws | |
---|---|
NullPointerException |
if the specified collection is null |
void copyInto (Object[] anArray)
将此向量的组件复制到指定的数组中。 在索引项k
该向量被复制到部件k
的anArray
。
Parameters | |
---|---|
anArray |
Object : the array into which the components get copied |
Throws | |
---|---|
NullPointerException |
if the given array is null |
IndexOutOfBoundsException |
if the specified array is not large enough to hold all the components of this vector |
ArrayStoreException |
if a component of this vector is not of a runtime type that can be stored in the specified array |
也可以看看:
E elementAt (int index)
返回指定索引处的组件。
此方法在功能上与 get(int)
方法(它是 List
接口的一部分) List
。
Parameters | |
---|---|
index |
int : an index into this vector |
Returns | |
---|---|
E |
the component at the specified index |
Throws | |
---|---|
ArrayIndexOutOfBoundsException |
if the index is out of range (index < 0 || index >= size() ) |
Enumeration<E> elements ()
返回此向量组件的枚举。 返回的Enumeration
对象将生成此矢量中的所有项目。 生成的第一个项目是索引0
处的项目,然后是索引1
处的项目,依此类推。
Returns | |
---|---|
Enumeration<E> |
an enumeration of the components of this vector |
也可以看看:
void ensureCapacity (int minCapacity)
如有必要,增加此矢量的容量,以确保它至少可容纳由最小容量参数指定的组件数。
如果该矢量的电流容量小于minCapacity
,那么它的容量增加通过更换其内部数据阵列,保存在字段elementData
,具有较大的一个。 新的数据阵列的大小将是原来的大小加上capacityIncrement
,除非的值capacityIncrement
小于或等于零,在这种情况下,新的容量将是原来容量的两倍; 但如果这个新的尺寸仍然小于minCapacity
,那么新的容量将是minCapacity
。
Parameters | |
---|---|
minCapacity |
int : the desired minimum capacity |
boolean equals (Object o)
将指定的Object与此Vector进行比较以获得相等性。 当且仅当指定的对象也是List时,才返回true,两个列表具有相同的大小,并且两个列表中的所有对应元素对都相等 。 (两个元件e1
和e2
是如果等于 (e1==null ? e2==null : e1.equals(e2))
。)换句话说,两个列表被定义为等于如果它们包含以相同的顺序相同的元件。
Parameters | |
---|---|
o |
Object : the Object to be compared for equality with this Vector |
Returns | |
---|---|
boolean |
true if the specified Object is equal to this Vector |
E firstElement ()
返回此向量的第一个组件(索引为 0
的项目)。
Returns | |
---|---|
E |
the first component of this vector |
Throws | |
---|---|
NoSuchElementException |
if this vector has no components |
E get (int index)
返回此向量中指定位置的元素。
Parameters | |
---|---|
index |
int : index of the element to return |
Returns | |
---|---|
E |
object at the specified index |
Throws | |
---|---|
ArrayIndexOutOfBoundsException |
if the index is out of range (index < 0 || index >= size() ) |
int hashCode ()
返回此向量的哈希码值。
Returns | |
---|---|
int |
the hash code value for this list |
int indexOf (Object o)
返回此矢量中指定元素第一次出现的索引,如果此矢量不包含元素,则返回-1。 更正式地说,返回最低索引i
例如(o==null ? get(i)==null : o.equals(get(i))) ,如果没有这样的索引,则返回-1。
Parameters | |
---|---|
o |
Object : element to search for |
Returns | |
---|---|
int |
the index of the first occurrence of the specified element in this vector, or -1 if this vector does not contain the element |
int indexOf (Object o, int index)
返回此向量中指定元素第一次出现的索引,从index
向前搜索,如果未找到该元素,则返回-1。 更正式地说,返回最低索引i
例如(i >= index && (o==null ? get(i)==null : o.equals(get(i)))) ,如果没有这样的索引,则返回-1。
Parameters | |
---|---|
o |
Object : element to search for |
index |
int : index to start searching from |
Returns | |
---|---|
int |
the index of the first occurrence of the element in this vector at position index or later in the vector; -1 if the element is not found. |
Throws | |
---|---|
IndexOutOfBoundsException |
if the specified index is negative |
也可以看看:
void insertElementAt (E obj, int index)
将指定的对象作为组件插入到此向量中的指定的index
。 此矢量中每个具有大于或等于指定index
的索引的index
向上移位,以使其索引比先前的值大1。
索引必须是大于或等于0
且小于或等于矢量的当前大小的值。 (如果索引等于矢量的当前大小,则将新元素附加到矢量。)
此方法在功能上与add(int, E)
方法(它是List
接口的一部分) List
。 请注意, add
方法会颠倒参数的顺序,以更贴近地匹配阵列使用情况。
Parameters | |
---|---|
obj |
E : the component to insert |
index |
int : where to insert the new component |
Throws | |
---|---|
ArrayIndexOutOfBoundsException |
if the index is out of range (index < 0 || index > size() ) |
boolean isEmpty ()
测试该向量是否没有组件。
Returns | |
---|---|
boolean |
true if and only if this vector has no components, that is, its size is zero; false otherwise. |
Iterator<E> iterator ()
以适当的顺序返回此列表中元素的迭代器。
返回的迭代器是 fail-fast 。
Returns | |
---|---|
Iterator<E> |
an iterator over the elements in this list in proper sequence |
E lastElement ()
返回矢量的最后一个分量。
Returns | |
---|---|
E |
the last component of the vector, i.e., the component at index size() - 1 . |
Throws | |
---|---|
NoSuchElementException |
if this vector is empty |
int lastIndexOf (Object o)
返回此矢量中指定元素的最后出现位置的索引,如果此矢量不包含该元素,则返回-1。 更正式地说,返回最高索引i
例如(o==null ? get(i)==null : o.equals(get(i))) ,如果没有这样的索引,则返回-1。
Parameters | |
---|---|
o |
Object : element to search for |
Returns | |
---|---|
int |
the index of the last occurrence of the specified element in this vector, or -1 if this vector does not contain the element |
int lastIndexOf (Object o, int index)
返回此矢量中指定元素最后出现的索引,从index
向后搜索,或者如果未找到该元素,则返回-1。 更正式地说,返回最高索引i
例如(i <= index && (o==null ? get(i)==null : o.equals(get(i)))) ,如果没有这样的索引,则返回-1。
Parameters | |
---|---|
o |
Object : element to search for |
index |
int : index to start searching backwards from |
Returns | |
---|---|
int |
the index of the last occurrence of the element at position less than or equal to index in this vector; -1 if the element is not found. |
Throws | |
---|---|
IndexOutOfBoundsException |
if the specified index is greater than or equal to the current size of this vector |
ListIterator<E> listIterator (int index)
从列表中的指定位置开始,返回此列表中元素的列表迭代器(以正确的顺序)。 指定的索引表示将通过初始调用返回到next
的第一个元素。 初始调用previous
将返回指定索引减1的元素。
返回的列表迭代器是 fail-fast 。
Parameters | |
---|---|
index |
int : index of the first element to be returned from the list iterator (by a call to next ) |
Returns | |
---|---|
ListIterator<E> |
a list iterator over the elements in this list (in proper sequence), starting at the specified position in the list |
Throws | |
---|---|
IndexOutOfBoundsException |
ListIterator<E> listIterator ()
返回此列表中元素的列表迭代器(按适当顺序)。
返回的列表迭代器是 fail-fast 。
Returns | |
---|---|
ListIterator<E> |
a list iterator over the elements in this list (in proper sequence) |
也可以看看:
boolean remove (Object o)
删除此Vector中第一次出现的指定元素如果Vector不包含该元素,则不会改变。 更正式地说,删除索引最小的元素,例如(o==null ? get(i)==null : o.equals(get(i)))
(如果存在这样的元素)。
Parameters | |
---|---|
o |
Object : element to be removed from this Vector, if present |
Returns | |
---|---|
boolean |
true if the Vector contained the specified element |
E remove (int index)
删除此向量中指定位置的元素。 将任何随后的元素向左移(从其索引中减去一个元素)。 返回从Vector中移除的元素。
Parameters | |
---|---|
index |
int : the index of the element to be removed |
Returns | |
---|---|
E |
element that was removed |
Throws | |
---|---|
ArrayIndexOutOfBoundsException |
if the index is out of range (index < 0 || index >= size() ) |
boolean removeAll (Collection<?> c)
从此向量中移除指定集合中包含的所有元素。
Parameters | |
---|---|
c |
Collection : a collection of elements to be removed from the Vector |
Returns | |
---|---|
boolean |
true if this Vector changed as a result of the call |
Throws | |
---|---|
ClassCastException |
if the types of one or more elements in this vector are incompatible with the specified collection (optional) |
NullPointerException |
if this vector contains one or more null elements and the specified collection does not support null elements (optional), or if the specified collection is null |
boolean removeElement (Object obj)
从该向量中移除参数的第一个(最低索引)事件。 如果在此向量中找到对象,则向量中索引大于或等于对象索引的矢量中的每个分量向下移位,以使其索引比它先前的值小。
此方法在功能上与 remove(Object)
方法(它是 List
接口的一部分) List
。
Parameters | |
---|---|
obj |
Object : the component to be removed |
Returns | |
---|---|
boolean |
true if the argument was a component of this vector; false otherwise. |
void removeElementAt (int index)
删除指定索引处的组件。 此矢量中每个具有大于或等于指定index
的索引的index
向下移位,以使其索引比它先前的值小。 这个向量的大小减少了1
。
索引必须是大于或等于 0
的值,并且小于矢量的当前大小。
此方法在功能上与remove(int)
方法(它是List
界面的一部分) List
。 请注意, remove
方法返回存储在指定位置的旧值。
Parameters | |
---|---|
index |
int : the index of the object to remove |
Throws | |
---|---|
ArrayIndexOutOfBoundsException |
if the index is out of range (index < 0 || index >= size() ) |
boolean removeIf (Predicate<? super E> filter)
删除此集合中满足给定谓词的所有元素。 在迭代过程中或由谓词抛出的错误或运行时异常会传递给调用者。
Parameters | |
---|---|
filter |
Predicate : a predicate which returns true for elements to be removed |
Returns | |
---|---|
boolean |
true if any elements were removed |
void replaceAll (UnaryOperator<E> operator)
用将运算符应用于该元素的结果替换此列表中的每个元素。 由操作员抛出的错误或运行时异常会传递给调用者。
Parameters | |
---|---|
operator |
UnaryOperator : the operator to apply to each element |
boolean retainAll (Collection<?> c)
只保留包含在指定集合中的Vector中的元素。 换句话说,从这个Vector中移除所有不包含在指定Collection中的元素。
Parameters | |
---|---|
c |
Collection : a collection of elements to be retained in this Vector (all other elements are removed) |
Returns | |
---|---|
boolean |
true if this Vector changed as a result of the call |
Throws | |
---|---|
ClassCastException |
if the types of one or more elements in this vector are incompatible with the specified collection (optional) |
NullPointerException |
if this vector contains one or more null elements and the specified collection does not support null elements (optional), or if the specified collection is null |
E set (int index, E element)
用指定的元素替换此Vector中指定位置的元素。
Parameters | |
---|---|
index |
int : index of the element to replace |
element |
E : element to be stored at the specified position |
Returns | |
---|---|
E |
the element previously at the specified position |
Throws | |
---|---|
ArrayIndexOutOfBoundsException |
if the index is out of range (index < 0 || index >= size() ) |
void setElementAt (E obj, int index)
将此向量的指定index
处的组件设置为指定的对象。 该位置的前一个组件被丢弃。
索引必须是大于或等于 0
的值,并且小于矢量的当前大小。
此方法在功能上与set(int, E)
方法(它是List
界面的一部分) List
。 请注意, set
方法会颠倒参数的顺序,以更贴近地匹配阵列的使用情况。 另请注意, set
方法返回存储在指定位置的旧值。
Parameters | |
---|---|
obj |
E : what the component is to be set to |
index |
int : the specified index |
Throws | |
---|---|
ArrayIndexOutOfBoundsException |
if the index is out of range (index < 0 || index >= size() ) |
void setSize (int newSize)
设置此矢量的大小。 如果新尺寸大于当前尺寸,则向量的最后添加新的null
项目。 如果新大小小于当前大小,则索引为newSize
及更大的所有组件都将被丢弃。
Parameters | |
---|---|
newSize |
int : the new size of this vector |
Throws | |
---|---|
ArrayIndexOutOfBoundsException |
if the new size is negative |
int size ()
返回此向量中组件的数量。
Returns | |
---|---|
int |
the number of components in this vector |
void sort (Comparator<? super E> c)
使用提供的 Comparator
对此列表进行排序以比较元素。
Parameters | |
---|---|
c |
Comparator : the Comparator used to compare list elements. A null value indicates that the elements' natural ordering should be used |
Spliterator<E> spliterator ()
在此列表中的元素上创建 late-binding和 快速故障 Spliterator
。
该Spliterator
报告SIZED
, SUBSIZED
,并ORDERED
。 重写实现应记录附加特征值的报告。
Returns | |
---|---|
Spliterator<E> |
a Spliterator over the elements in this list |
List<E> subList (int fromIndex, int toIndex)
返回fromIndex(包含)和toIndex(独占)之间此列表部分的视图。 (如果fromIndex和toIndex相等,则返回的List是空的。)返回的List由此List支持,因此返回的List中的更改将反映在此List中,反之亦然。 返回的列表支持此列表支持的所有可选列表操作。
此方法消除了对显式范围操作(数组通常存在的那种操作)的需要。 任何需要列表的操作都可以通过在子列表视图上操作而不是整个列表来使用范围操作。 例如,下面的习语从列表中删除了一系列元素:
list.subList(from, to).clear();Similar idioms may be constructed for indexOf and lastIndexOf, and all of the algorithms in the Collections class can be applied to a subList.
如果支持列表(即,此列表)在结构上以非返回列表的方式修改 ,则此方法返回的List的语义变得不明确。 (结构修改是那些改变列表大小,或以其他方式干扰它的迭代正在进行中可能产生不正确结果的方式。)
Parameters | |
---|---|
fromIndex |
int : low endpoint (inclusive) of the subList |
toIndex |
int : high endpoint (exclusive) of the subList |
Returns | |
---|---|
List<E> |
a view of the specified range within this List |
Throws | |
---|---|
IndexOutOfBoundsException |
if an endpoint index value is out of range (fromIndex < 0 || toIndex > size) |
IllegalArgumentException |
if the endpoint indices are out of order (fromIndex > toIndex) |
Object[] toArray ()
以正确的顺序返回包含此Vector中所有元素的数组。
Returns | |
---|---|
Object[] |
an array containing all of the elements in this collection |
T[] toArray (T[] a)
以正确的顺序返回包含此Vector中所有元素的数组; 返回数组的运行时类型是指定数组的运行时类型。 如果Vector适合指定的数组,则返回其中。 否则,将使用指定数组的运行时类型和此Vector的大小分配一个新数组。
如果Vector符合指定数组并有空余空间(即数组的元素多于Vector),则紧跟Vector尾部的数组元素将设置为null。 ( 只有当调用者知道Vector不包含任何空元素时,这对确定Vector的长度非常有用。)
Parameters | |
---|---|
a |
T : the array into which the elements of the Vector are to be stored, if it is big enough; otherwise, a new array of the same runtime type is allocated for this purpose. |
Returns | |
---|---|
T[] |
an array containing the elements of the Vector |
Throws | |
---|---|
ArrayStoreException |
if the runtime type of a is not a supertype of the runtime type of every element in this Vector |
NullPointerException |
if the given array is null |
String toString ()
返回此Vector的字符串表示形式,其中包含每个元素的字符串表示形式。
Returns | |
---|---|
String |
a string representation of this collection |
void trimToSize ()
将此矢量的容量修剪为矢量的当前大小。 如果此矢量的容量大于其当前大小,则容量将更改为等于大小,方法是将其保留在字段elementData
中的内部数据数组替换为较小的一个。 应用程序可以使用此操作来最小化矢量的存储。
void removeRange (int fromIndex, int toIndex)
从列表中删除索引在fromIndex
(含)和toIndex
之间的所有元素,不包括。 将任何后续元素向左移(减少索引)。 此调用缩短了列表(toIndex - fromIndex)
元素。 (如果toIndex==fromIndex
,此操作无效。)
Parameters | |
---|---|
fromIndex |
int : index of first element to be removed |
toIndex |
int : index after last element to be removed |