鴻蒙OS Vector

2022-08-11 15:43 更新

Vector

java.lang.Object

|---java.util.AbstractCollection<E&

|---|---java.util.AbstractList<E&

|---|---|---java.util.Vector<E&

public class Vector<E>
extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, Serializable

Vector 類實現(xiàn)了一個可增長的對象數(shù)組。 像數(shù)組一樣,它包含可以使用整數(shù)索引訪問的組件。 但是,Vector 的大小可以根據(jù)需要增加或縮小,以適應(yīng)在創(chuàng)建 Vector 后添加和刪除項目。

每個向量都試圖通過維護容量和容量增量來優(yōu)化存儲管理。 容量總是至少與向量大小一樣大; 它通常更大,因為隨著組件被添加到向量中,向量的存儲以塊的形式增加容量增量的大小。 應(yīng)用程序可以在插入大量組件之前增加向量的容量; 這減少了增量重新分配的數(shù)量。

此類的 iterator 和 listIterator 方法返回的迭代器是快速失敗的:如果在創(chuàng)建迭代器后的任何時間對向量進行結(jié)構(gòu)修改,除了通過迭代器自己的 ListIterator#remove() 或 ListIterator#add(Object) 之外的任何方式 方法,迭代器將拋出 ConcurrentModificationException。 因此,面對并發(fā)修改,迭代器快速而干凈地失敗,而不是在未來不確定的時間冒著任意的、非確定性的行為。 elements 方法返回的枚舉不是快速失敗的。

請注意,不能保證迭代器的快速失敗行為,因為一般來說,在存在不同步的并發(fā)修改的情況下,不可能做出任何硬保證。 快速失敗的迭代器會盡最大努力拋出 ConcurrentModificationException。 因此,編寫一個依賴于這個異常的正確性的程序是錯誤的:迭代器的快速失敗行為應(yīng)該只用于檢測錯誤。

從 Java 2 平臺 v1.2 開始,該類被改進為實現(xiàn) List 接口,使其成為 Java Collections Framework 的成員。 與新的集合實現(xiàn)不同,Vector 是同步的。 如果不需要線程安全實現(xiàn),建議使用 ArrayList 代替 Vector。

字段摘要

修飾符和類型 字段 描述
protected int capacityIncrement 當向量的大小變得大于其容量時,向量的容量自動增加的量。
protected int elementCount 此 Vector 對象中的有效組件數(shù)。
protected Object[] elementData 存儲向量分量的數(shù)組緩沖區(qū)。
從類 java.util.AbstractList 繼承的字段
modCount

構(gòu)造函數(shù)摘要

構(gòu)造函數(shù) 描述
Vector() 構(gòu)造一個空向量,使其內(nèi)部數(shù)據(jù)數(shù)組的大小為 10,其標準容量增量為零。
Vector(int initialCapacity) 構(gòu)造一個具有指定初始容量且容量增量為零的空向量。
Vector(int initialCapacity, int capacityIncrement) 構(gòu)造一個具有指定初始容量和容量增量的空向量。
Vector(Collection<? extends E> c) 按照集合的迭代器返回的順序構(gòu)造一個包含指定集合元素的向量。

方法總結(jié)

修飾符和類型 方法 描述
void add(int index, E element) 在此 Vector 中的指定位置插入指定元素。
boolean add(E e) 將指定元素附加到此 Vector 的末尾。
boolean addAll(int index, Collection<? extends E> c) 將指定 Collection 中的所有元素插入到此 Vector 的指定位置。
boolean addAll(Collection<? extends E> c) 將指定 Collection 中的所有元素附加到此 Vector 的末尾,按照指定 Collection 的 Iterator 返回的順序。
void addElement(E obj) 將指定的組件添加到此向量的末尾,將其大小增加一。
int capacity() 返回此向量的當前容量。
void clear() 從此 Vector 中刪除所有元素。
Object clone() 返回此向量的克隆。
boolean contains(Object o) 如果此向量包含指定元素,則返回 true。
boolean containsAll(Collection<?> c) 如果此 Vector 包含指定 Collection 中的所有元素,則返回 true。
void copyInto(Object[] anArray) 將此向量的分量復制到指定的數(shù)組中。
E elementAt(int index) 返回指定索引處的組件。
EnumerationE elements() 返回此向量的組件的枚舉。
void ensureCapacity(int minCapacity) 如有必要,增加此向量的容量,以確保它至少可以容納最小容量參數(shù)指定的分量數(shù)。
boolean equals(Object o) 比較指定的 Object 與此 Vector 是否相等。
E firstElement() 返回此向量的第一個組件(索引 0 處的項目)。
void forEach(Consumer<? super E> action) 對 Iterable 的每個元素執(zhí)行給定的操作,直到處理完所有元素或該操作引發(fā)異常。
E get(int index) 返回此 Vector 中指定位置的元素。
int hashCode() 返回此 Vector 的哈希碼值。
int indexOf(Object o) 返回此向量中指定元素第一次出現(xiàn)的索引,如果此向量不包含該元素,則返回 -1。
int indexOf(Object o, int index) 返回此向量中第一次出現(xiàn)的指定元素的索引,從索引向前搜索,如果未找到該元素,則返回 -1。
void insertElementAt(E obj, int index) 將指定對象作為組件插入此向量中指定索引處。
boolean isEmpty() 測試此向量是否沒有分量。
IteratorE iterator() 以正確的順序返回此列表中元素的迭代器。
E lastElement() 返回向量的最后一個分量。
int lastIndexOf(Object o) 返回此向量中指定元素最后一次出現(xiàn)的索引,如果此向量不包含該元素,則返回 -1。
int lastIndexOf(Object o, int index) 返回此向量中指定元素最后一次出現(xiàn)的索引,從索引向后搜索,如果未找到該元素,則返回 -1。
ListIteratorE listIterator() 返回此列表中元素的列表迭代器(以正確的順序)。
ListIteratorE listIterator(int index) 返回此列表中元素的列表迭代器(以正確的順序),從列表中的指定位置開始。
E remove(int index) 移除此 Vector 中指定位置的元素。
boolean remove(Object o) 刪除此 Vector 中指定元素的第一個匹配項 如果 Vector 不包含該元素,則它不變。
boolean removeAll(Collection<?> c) 從此 Vector 中刪除包含在指定 Collection 中的所有元素。
void removeAllElements() 從此向量中刪除所有組件并將其大小設(shè)置為零。
boolean removeElement(Object obj) 從此向量中刪除參數(shù)的第一個(最低索引)出現(xiàn)。
void removeElementAt(int index) 刪除指定索引處的組件。
boolean removeIf(Predicate<? super E> filter) 刪除此集合中滿足給定謂詞的所有元素。
protected void removeRange(int fromIndex, int toIndex) 從此列表中刪除索引在 fromIndex(包括)和 toIndex(不包括)之間的所有元素。
void replaceAll(UnaryOperatorE operator) 將此列表的每個元素替換為將運算符應(yīng)用于該元素的結(jié)果。
boolean retainAll(Collection<?> c) 僅保留此 Vector 中包含在指定 Collection 中的元素。
E set(int index, E element) 將此 Vector 中指定位置的元素替換為指定元素。
void setElementAt(E obj, int index) 將此向量的指定索引處的組件設(shè)置為指定對象。
void setSize(int newSize) 設(shè)置此向量的大小。
int size() 返回此向量中的分量數(shù)。
void sort(Comparator<? super E> c) 根據(jù)指定 Comparator 產(chǎn)生的順序?qū)υ摿斜磉M行排序。
SpliteratorE spliterator() 在此列表中的元素上創(chuàng)建一個后期綁定和快速失敗的拆分器。
ListE subList(int fromIndex, int toIndex) 返回此 List 在 fromIndex(包括)和 toIndex(不包括)之間部分的視圖。
Object[] toArray() 以正確的順序返回包含此 Vector 中所有元素的數(shù)組。
<T> T[] toArray(T[] a) 以正確的順序返回包含此 Vector 中所有元素的數(shù)組; 返回數(shù)組的運行時類型是指定數(shù)組的運行時類型。
String toString() 返回此 Vector 的字符串表示形式,其中包含每個元素的字符串表示形式。
void trimToSize() 將此向量的容量修剪為向量的當前大小。
從接口 java.util.Collection 繼承的方法
parallelStream, stream
從類 java.lang.Object 繼承的方法
finalize, getClass, notify, notifyAll, wait, wait, wait

字段詳細信息

capacityIncrement

protected int capacityIncrement

當向量的大小變得大于其容量時,向量的容量自動增加的量。 如果容量增量小于或等于零,則每次需要增長時,向量的容量都會增加一倍。

elementCount

protected int elementCount

此 Vector 對象中的有效組件數(shù)。 組件 elementData[0] 到 elementData[elementCount-1] 是實際項目。

elementData

protected Object[] elementData

存儲向量分量的數(shù)組緩沖區(qū)。 向量的容量是這個數(shù)組緩沖區(qū)的長度,并且至少大到足以包含所有向量的元素。

Vector 中最后一個元素之后的任何數(shù)組元素都為空。

構(gòu)造函數(shù)詳細信息

Vector

public Vector(int initialCapacity, int capacityIncrement)

構(gòu)造一個具有指定初始容量和容量增量的空向量。

參數(shù):

參數(shù)名稱 參數(shù)描述
initialCapacity 向量的初始容量
capacityIncrement 向量溢出時容量增加的量

Throws:

Throw名稱 Throw描述
IllegalArgumentException 如果指定的初始容量為負

Vector

public Vector(int initialCapacity)

構(gòu)造一個具有指定初始容量且容量增量為零的空向量。

參數(shù):

參數(shù)名稱 參數(shù)描述
initialCapacity 向量的初始容量

Throws:

Throw名稱 Throw描述
IllegalArgumentException 如果指定的初始容量為負

Vector

public Vector()

構(gòu)造一個空向量,使其內(nèi)部數(shù)據(jù)數(shù)組的大小為 10,其標準容量增量為零。

Vector

public Vector(Collection<? extends E> c)

按照集合的迭代器返回的順序構(gòu)造一個包含指定集合元素的向量。

參數(shù):

參數(shù)名稱 參數(shù)描述
c 將其元素放入此向量的集合

Throws:

Throw名稱 Throw描述
NullPointerException 如果指定的集合為空

方法詳情

copyInto

public void copyInto(Object[] anArray)

將此向量的分量復制到指定的數(shù)組中。 此向量中索引 k 處的項目被復制到 anArray 的組件 k 中。

參數(shù):

參數(shù)名稱 參數(shù)描述
anArray 組件被復制到的數(shù)組

Throws:

Throw名稱 Throw描述
NullPointerException 如果給定數(shù)組為空
IndexOutOfBoundsException 如果指定的數(shù)組不足以容納此向量的所有組件
ArrayStoreException 如果此向量的組件不是可以存儲在指定數(shù)組中的運行時類型

trimToSize

public void trimToSize()

將此向量的容量修剪為向量的當前大小。 如果此向量的容量大于其當前大小,則通過將其內(nèi)部數(shù)據(jù)數(shù)組(保存在字段 elementData 中)替換為較小的數(shù)組,將容量更改為等于大小。 應(yīng)用程序可以使用此操作來最小化向量的存儲。

ensureCapacity

public void ensureCapacity(int minCapacity)

如有必要,增加此向量的容量,以確保它至少可以容納最小容量參數(shù)指定的分量數(shù)。

如果該向量的當前容量小于 minCapacity,則通過將其內(nèi)部數(shù)據(jù)數(shù)組(保存在字段 elementData 中)替換為更大的數(shù)組來增加其容量。 新數(shù)據(jù)數(shù)組的大小將是舊大小加上容量增量,除非容量增量的值小于或等于零,這種情況下新容量將是舊容量的兩倍; 但如果這個新大小仍然小于 minCapacity,那么新容量將為 minCapacity。

參數(shù):

參數(shù)名稱 參數(shù)描述
minCapacity 所需的最小容量

setSize

public void setSize(int newSize)

設(shè)置此向量的大小。 如果新大小大于當前大小,則將新的空項添加到向量的末尾。 如果新大小小于當前大小,則索引 newSize 和更大的所有組件都將被丟棄。

參數(shù):

參數(shù)名稱 參數(shù)描述
newSize 這個向量的新大小

Throws:

Throw名稱 Throw描述
ArrayIndexOutOfBoundsException 如果新大小為負

capacity

public int capacity()

返回此向量的當前容量。

返回:

當前容量(其內(nèi)部數(shù)據(jù)數(shù)組的長度,保存在該向量的字段 elementData 中)

size

public int size()

返回此向量中的分量數(shù)。

指定者:

接口 CollectionE 中的大小

指定者:

接口 ListE 中的大小

指定者:

AbstractCollectionE 類中的大小

返回:

此向量中的組件數(shù)

isEmpty

public boolean isEmpty()

測試此向量是否沒有分量。

指定者:

接口 CollectionE 中的 isEmpty

指定者:

接口 ListE 中的 isEmpty

覆蓋:

類 AbstractCollectionE 中的 isEmpty

返回:

當且僅當此向量沒有分量時,即其大小為零時才為 true; 否則為 false。

elements

public EnumerationE elements()

返回此向量的組件的枚舉。 返回的 Enumeration 對象將生成此向量中的所有項目。 生成的第一個項目是索引 0 處的項目,然后是索引 1 處的項目,依此類推。

返回:

此向量的組件的枚舉

contains

public boolean contains(Object o)

如果此向量包含指定元素,則返回 true。 更正式地說,當且僅當此向量包含至少一個元素 e 滿足 (o==null ? e==null : o.equals(e)) 時才返回 true。

指定者:

包含在接口 CollectionE 中

指定者:

包含在接口 ListE 中

覆蓋:

包含在類 AbstractCollectionE 中

參數(shù):

參數(shù)名稱 參數(shù)描述
o 要測試其在此向量中的存在的元素

返回:

如果此向量包含指定元素,則為 true

indexOf

public int indexOf(Object o)

返回此向量中指定元素第一次出現(xiàn)的索引,如果此向量不包含該元素,則返回 -1。 更正式地說,返回滿足 (o==null ? get(i)==null : o.equals(get(i))) 的最低索引 i,如果沒有這樣的索引,則返回 -1。

指定者:

接口 ListE 中的 indexOf

覆蓋:

AbstractListE 類中的 indexOf

參數(shù):

參數(shù)名稱 參數(shù)描述
o 要搜索的元素

返回:

此向量中指定元素第一次出現(xiàn)的索引,如果此向量不包含該元素,則為 -1

indexOf

public int indexOf(Object o, int index)

返回此向量中第一次出現(xiàn)的指定元素的索引,從索引向前搜索,如果未找到該元素,則返回 -1。 更正式地,返回最低索引 i 使得 (i >= index && (o==null ? get(i)==null : o.equals(get(i)))),如果不存在則返回 -1 指數(shù)。

參數(shù):

參數(shù)名稱 參數(shù)描述
o 要搜索的元素
index 開始搜索的索引

返回:

此向量中第一次出現(xiàn)的元素在位置 index 或向量后面的索引; -1 如果未找到該元素。

Throws:

Throw名稱 Throw描述
IndexOutOfBoundsException 如果指定的索引為負

lastIndexOf

public int lastIndexOf(Object o)

返回此向量中指定元素最后一次出現(xiàn)的索引,如果此向量不包含該元素,則返回 -1。 更正式地說,返回滿足 (o==null ? get(i)==null : o.equals(get(i))) 的最高索引 i,如果沒有這樣的索引,則返回 -1。

指定者:

接口 ListE 中的 lastIndexOf

覆蓋:

類 AbstractListE 中的 lastIndexOf

參數(shù):

參數(shù)名稱 參數(shù)描述
o 要搜索的元素

返回:

此向量中指定元素的最后一次出現(xiàn)的索引,如果此向量不包含該元素,則為 -1

lastIndexOf

public int lastIndexOf(Object o, int index)

返回此向量中指定元素最后一次出現(xiàn)的索引,從索引向后搜索,如果未找到該元素,則返回 -1。 更正式地,返回最高索引 i 使得 (i <= index && (o==null ? get(i)==null : o.equals(get(i)))),如果不存在則返回 -1 指數(shù)。

參數(shù):

參數(shù)名稱 參數(shù)描述
o 要搜索的元素
index 開始向后搜索的索引

返回:

在該向量中小于或等于 index 的位置上最后一次出現(xiàn)的元素的索引; -1 如果未找到該元素。

Throws:

Throw名稱 Throw描述
IndexOutOfBoundsException 如果指定的索引大于或等于此向量的當前大小

elementAt

public E elementAt(int index)

返回指定索引處的組件。

此方法在功能上與 get(int) 方法(它是 List 接口的一部分)相同。

參數(shù):

參數(shù)名稱 參數(shù)描述
index 該向量的索引

返回:

指定索引處的組件

Throws:

Throw名稱 Throw描述
ArrayIndexOutOfBoundsException 如果索引超出范圍 (index < 0 || index >= size())

firstElement

public E firstElement()

返回此向量的第一個組件(索引 0 處的項目)。

返回:

這個向量的第一個分量

Throws:

Throw名稱 Throw描述
NoSuchElementException 如果這個向量沒有分量

lastElement

public E lastElement()

返回向量的最后一個分量。

返回:

向量的最后一個分量,即索引 size() - 1 處的分量。

Throws:

Throw名稱 Throw描述
NoSuchElementException 如果這個向量是空的

setElementAt

public void setElementAt(E obj, int index)

將此向量的指定索引處的組件設(shè)置為指定對象。 該位置的前一個組件被丟棄。

索引必須是大于或等于 0 且小于向量當前大小的值。

此方法在功能上與 set(int, E) 方法(它是 List 接口的一部分)相同。 請注意,set 方法顛倒了參數(shù)的順序,以更接近地匹配數(shù)組的使用。 另請注意,set 方法返回存儲在指定位置的舊值。

參數(shù):

參數(shù)名稱 參數(shù)描述
obj 組件要設(shè)置成什么
index 指定索引

Throws:

Throw名稱 Throw描述
ArrayIndexOutOfBoundsException 如果索引超出范圍 (index < 0 || index >= size())

removeElementAt

public void removeElementAt(int index)

刪除指定索引處的組件。 此向量中具有大于或等于指定索引的索引的每個分量都向下移動以具有比其先前具有的值小一的索引。 該向量的大小減 1。

索引必須是大于或等于 0 且小于向量當前大小的值。

此方法在功能上與 remove(int) 方法(它是 List 接口的一部分)相同。 請注意,remove 方法返回存儲在指定位置的舊值。

參數(shù):

參數(shù)名稱 參數(shù)描述
index 要刪除的對象的索引

Throws:

Throw名稱 Throw描述
ArrayIndexOutOfBoundsException 如果索引超出范圍 (index < 0 || index >= size())

insertElementAt

public void insertElementAt(E obj, int index)

將指定對象作為組件插入此向量中指定索引處。 此向量中具有大于或等于指定索引的索引的每個分量都向上移動以具有比其先前具有的值大一的索引。

索引必須是大于或等于 0 且小于或等于向量當前大小的值。 (如果索引等于向量的當前大小,則將新元素附加到向量。)

此方法在功能上與 add(int, E) 方法(它是 List 接口的一部分)相同。 請注意,add 方法顛倒了參數(shù)的順序,以更緊密地匹配數(shù)組的使用。

參數(shù):

參數(shù)名稱 參數(shù)描述
obj 要插入的組件
index 在哪里插入新組件

Throws:

Throw名稱 Throw描述
ArrayIndexOutOfBoundsException 如果索引超出范圍 (index < 0 || index > size())

addElement

public void addElement(E obj)

將指定的組件添加到此向量的末尾,將其大小增加一。 如果該向量的大小變得大于其容量,則該向量的容量會增加。

此方法在功能上與 add(E) 方法(它是 List 接口的一部分)相同。

參數(shù):

參數(shù)名稱 參數(shù)描述
obj 要添加的組件

removeElement

public boolean removeElement(Object obj)

從此向量中刪除參數(shù)的第一個(最低索引)出現(xiàn)。 如果在該向量中找到對象,則向量中具有大于或等于對象索引的索引的每個分量將向下移動以具有比其先前具有的值小一的索引。

此方法在功能上與 remove(java.lang.Object) 方法(它是 List 接口的一部分)相同。

參數(shù):

參數(shù)名稱 參數(shù)描述
obj 要移除的組件

返回:

如果參數(shù)是這個向量的一個組成部分,則為 true; 否則為 false。

removeAllElements

public void removeAllElements()

從此向量中刪除所有組件并將其大小設(shè)置為零。

此方法在功能上與 clear() 方法(它是 List 接口的一部分)相同。

clone

public Object clone()

返回此向量的克隆。 該副本將包含對內(nèi)部數(shù)據(jù)數(shù)組的克隆的引用,而不是對該 Vector 對象的原始內(nèi)部數(shù)據(jù)數(shù)組的引用。

覆蓋:

在類 Object 中克隆

返回:

該載體的克隆

toArray

public Object[] toArray()

以正確的順序返回包含此 Vector 中所有元素的數(shù)組。

指定者:

接口 CollectionE 中的 toArray

指定者:

接口 ListE 中的 toArray

覆蓋:

AbstractCollectionE 類中的 toArray

返回:

包含此集合中所有元素的數(shù)組

toArray

public <T> T[] toArray(T[] a)

以正確的順序返回包含此 Vector 中所有元素的數(shù)組; 返回數(shù)組的運行時類型是指定數(shù)組的運行時類型。 如果 Vector 適合指定的數(shù)組,則在其中返回。 否則,將使用指定數(shù)組的運行時類型和此 Vector 的大小分配一個新數(shù)組。

如果向量適合指定的數(shù)組并有剩余空間(即,數(shù)組的元素多于向量),則數(shù)組中緊跟向量末尾的元素設(shè)置為空。 (僅當調(diào)用者知道 Vector 不包含任何 null 元素時,這在確定 Vector 的長度時才有用。)

指定者:

接口 CollectionE 中的 toArray

指定者:

接口 ListE 中的 toArray

覆蓋:

AbstractCollectionE 類中的 toArray

類型參數(shù):

類型參數(shù)名稱 類型參數(shù)描述
T 包含集合的數(shù)組的運行時類型

參數(shù):

參數(shù)名稱 參數(shù)描述
a 將存儲 Vector 元素的數(shù)組(如果它足夠大); 否則,將為此目的分配相同運行時類型的新數(shù)組。

返回:

包含 Vector 元素的數(shù)組

Throws:

Throw名稱 Throw描述
ArrayStoreException 如果 a 的運行時類型不是此 Vector 中每個元素的運行時類型的超類型
NullPointerException 如果給定數(shù)組為空

get

public E get(int index)

返回此 Vector 中指定位置的元素。

指定者:

進入接口 ListE

指定者:

進入類 AbstractListE

參數(shù):

參數(shù)名稱 參數(shù)描述
index 要返回的元素的索引

返回:

指定索引處的對象

Throws:

Throw名稱 Throw描述
ArrayIndexOutOfBoundsException 如果索引超出范圍 (index < 0 || index >= size())

set

public E set(int index, E element)

將此 Vector 中指定位置的元素替換為指定元素。

指定者:

在接口 ListE 中設(shè)置

覆蓋:

在類 AbstractListE 中設(shè)置

參數(shù):

參數(shù)名稱 參數(shù)描述
index 要替換的元素的索引
element 要存儲在指定位置的元素

返回:

先前在指定位置的元素

Throws:

Throw名稱 Throw描述
ArrayIndexOutOfBoundsException 如果索引超出范圍 (index < 0 || index >= size())

add

public boolean add(E e)

將指定元素附加到此 Vector 的末尾。

指定者:

添加接口CollectionE

指定者:

添加接口ListE

覆蓋:

添加類 AbstractListE

參數(shù):

參數(shù)名稱 參數(shù)描述
e 要附加到此 Vector 的元素

返回:

true(由 Collection#add 指定)

remove

public boolean remove(Object o)

刪除此 Vector 中指定元素的第一個匹配項 如果 Vector 不包含該元素,則它不變。 更正式地說,刪除具有最低索引 i 的元素,使得 (o==null ? get(i)==null : o.equals(get(i))) (如果存在這樣的元素)。

指定者:

在接口 CollectionE 中刪除

指定者:

在接口 ListE 中刪除

覆蓋:

在類 AbstractCollectionE 中刪除

參數(shù):

參數(shù)名稱 參數(shù)描述
o 要從此向量中刪除的元素(如果存在)

返回:

如果 Vector 包含指定元素,則為 true

add

public void add(int index, E element)

在此 Vector 中的指定位置插入指定元素。 將當前位于該位置的元素(如果有)和任何后續(xù)元素向右移動(將其索引加一)。

指定者:

添加接口ListE

覆蓋:

添加類 AbstractListE

參數(shù):

參數(shù)名稱 參數(shù)描述
index 要插入指定元素的索引
element 要插入的元素

Throws:

Throw名稱 Throw描述
ArrayIndexOutOfBoundsException 如果索引超出范圍 (index < 0 || index > size())

remove

public E remove(int index)

移除此 Vector 中指定位置的元素。 將任何后續(xù)元素向左移動(從它們的索引中減去 1)。 返回從 Vector 中刪除的元素。

指定者:

在接口 ListE 中刪除

覆蓋:

在類 AbstractListE 中刪除

參數(shù):

參數(shù)名稱 參數(shù)描述
index 要刪除的元素的索引

返回:

被移除的元素

Throws:

Throw名稱 Throw描述
ArrayIndexOutOfBoundsException 如果索引超出范圍 (index < 0 || index >= size())

clear

public void clear()

從此 Vector 中刪除所有元素。 此調(diào)用返回后 Vector 將為空(除非它引發(fā)異常)。

指定者:

在接口 CollectionE 中清除

指定者:

在接口 ListE 中清除

覆蓋:

在類 AbstractListE 中清除

containsAll

public boolean containsAll(Collection<?> c)

如果此 Vector 包含指定 Collection 中的所有元素,則返回 true。

指定者:

接口 CollectionE 中的 containsAll

指定者:

接口 ListE 中的 containsAll

覆蓋:

類 AbstractCollectionE 中的 containsAll

參數(shù):

參數(shù)名稱 參數(shù)描述
c 一個集合,其元素將被測試是否包含在此 Vector 中

返回:

如果此 Vector 包含指定集合中的所有元素,則為 true

Throws:

Throw名稱 Throw描述
NullPointerException 如果指定的集合為空

addAll

public boolean addAll(Collection<? extends E> c)

將指定 Collection 中的所有元素附加到此 Vector 的末尾,按照指定 Collection 的 Iterator 返回的順序。 如果在操作正在進行時修改了指定的集合,則此操作的行為是未定義的。 (這意味著如果指定的 Collection 是這個 Vector,并且這個 Vector 是非空的,那么這個調(diào)用的行為是未定義的。)

指定者:

接口 CollectionE 中的 addAll

指定者:

接口 ListE 中的 addAll

覆蓋:

類 AbstractCollectionE 中的 addAll

參數(shù):

參數(shù)名稱 參數(shù)描述
c 要插入此 Vector 的元素

返回:

如果此 Vector 由于調(diào)用而更改,則為 true

Throws:

Throw名稱 Throw描述
NullPointerException 如果指定的集合為空

removeAll

public boolean removeAll(Collection<?> c)

從此 Vector 中刪除包含在指定 Collection 中的所有元素。

指定者:

接口 CollectionE 中的 removeAll

指定者:

接口 ListE 中的 removeAll

覆蓋:

類 AbstractCollectionE 中的 removeAll

參數(shù):

參數(shù)名稱 參數(shù)描述
c 要從 Vector 中刪除的元素集合

返回:

如果此 Vector 由于調(diào)用而更改,則為 true

Throws:

Throw名稱 Throw描述
ClassCastException 如果此向量中的一個或多個元素的類型與指定的集合不兼容(可選)
NullPointerException 如果此向量包含一個或多個空元素并且指定的集合不支持空元素(可選),或者指定的集合為空

retainAll

public boolean retainAll(Collection<?> c)

僅保留此 Vector 中包含在指定 Collection 中的元素。 換句話說,從這個 Vector 中移除所有不包含在指定 Collection 中的元素。

指定者:

接口CollectionE中的retainAll

指定者:

接口 ListE 中的 retainAll

覆蓋:

類 AbstractCollectionE 中的 retainAll

參數(shù):

參數(shù)名稱 參數(shù)描述
c 要保留在此 Vector 中的元素集合(刪除所有其他元素)

返回:

如果此 Vector 由于調(diào)用而更改,則為 true

Throws:

Throw名稱 Throw描述
ClassCastException 如果此向量中的一個或多個元素的類型與指定的集合不兼容(可選)
NullPointerException 如果此向量包含一個或多個空元素并且指定的集合不支持空元素(可選),或者指定的集合為空

addAll

public boolean addAll(int index, Collection<? extends E> c)

將指定 Collection 中的所有元素插入到此 Vector 的指定位置。 將當前位于該位置的元素(如果有)和任何后續(xù)元素向右移動(增加它們的索引)。 新元素將按照指定 Collection 的迭代器返回的順序出現(xiàn)在 Vector 中。

指定者:

接口 ListE 中的 addAll

覆蓋:

類 AbstractListE 中的 addAll

參數(shù):

參數(shù)名稱 參數(shù)描述
index 插入指定集合中第一個元素的索引
c 要插入此 Vector 的元素

返回:

如果此 Vector 由于調(diào)用而更改,則為 true

Throws:

Throw名稱 Throw描述
ArrayIndexOutOfBoundsException 如果索引超出范圍 (index < 0 || index > size())
NullPointerException 如果指定的集合為空

equals

public boolean equals(Object o)

比較指定的 Object 與此 Vector 是否相等。 當且僅當指定的 Object 也是一個 List 時返回 true,兩個 List 具有相同的大小,并且兩個 List 中所有對應(yīng)的元素對都相等。 (如果 (e1==null ? e2==null : e1.equals(e2)) 兩個元素 e1 和 e2 相等。)換句話說,如果兩個 List 以相同的順序包含相同的元素,則它們被定義為相等 .

指定者:

接口 CollectionE 中的等于

指定者:

接口 ListE 中的等于

覆蓋:

類 AbstractListE 中的等于

參數(shù):

參數(shù)名稱 參數(shù)描述
o 要與此向量比較相等的對象

返回:

如果指定的 Object 等于此 Vector,則為 true

hashCode

public int hashCode()

返回此 Vector 的哈希碼值。

指定者:

接口 CollectionE 中的 hashCode

指定者:

接口 ListE 中的 hashCode

覆蓋:

AbstractListE 類中的 hashCode

返回:

此列表的哈希碼值

toString

public String toString()

返回此 Vector 的字符串表示形式,其中包含每個元素的字符串表示形式。

覆蓋:

類 AbstractCollectionE 中的 toString

返回:

此集合的字符串表示形式

subList

public ListE subList(int fromIndex, int toIndex)

返回此 List 在 fromIndex(包括)和 toIndex(不包括)之間部分的視圖。 (如果 fromIndex 和 toIndex 相等,則返回的 List 為空。)返回的 List 由該 List 支持,因此返回的 List 中的更改會反映在該 List 中,反之亦然。 返回的 List 支持此 List 支持的所有可選 List 操作。

這種方法消除了顯式范圍操作的需要(通常存在于數(shù)組中的那種)。 通過對 subList 視圖而不是整個 List 進行操作,任何需要 List 的操作都可以用作范圍操作。 例如,以下習慣用法從 List 中刪除一系列元素:

      list.subList(from, to).clear(); 

可以為 indexOf 和 lastIndexOf 構(gòu)造類似的習語,并且 Collections 類中的所有算法都可以應(yīng)用于子列表。

如果后備列表(即此列表)以任何方式而不是通過返回的列表進行結(jié)構(gòu)修改,則此方法返回的列表的語義變得未定義。 (結(jié)構(gòu)修改是那些改變列表大小的修改,或者以其他方式擾亂它,使得正在進行的迭代可能會產(chǎn)生不正確的結(jié)果。)

指定者:

接口 ListE 中的子列表

覆蓋:

AbstractListE 類中的子列表

參數(shù):

參數(shù)名稱 參數(shù)描述
fromIndex subList 的低端點(包括)
toIndex subList 的高端(不包括)

返回:

此列表中指定范圍的視圖

Throws:

Throw名稱 Throw描述
IndexOutOfBoundsException 如果端點索引值超出范圍(fromIndex < 0 || toIndex > size)
IllegalArgumentException 如果端點索引亂序(fromIndex > toIndex)

removeRange

protected void removeRange(int fromIndex, int toIndex)

從此列表中刪除索引在 fromIndex(包括)和 toIndex(不包括)之間的所有元素。 將任何后續(xù)元素向左移動(減少它們的索引)。 此調(diào)用通過 (toIndex - fromIndex) 元素縮短列表。 (如果toIndex==fromIndex,則此操作無效。)

覆蓋:

AbstractListE 類中的 removeRange

參數(shù):

參數(shù)名稱 參數(shù)描述
fromIndex 要刪除的第一個元素的索引
toIndex 要刪除的最后一個元素之后的索引

listIterator

public ListIteratorE listIterator(int index)

返回此列表中元素的列表迭代器(以正確的順序),從列表中的指定位置開始。 指定的索引指示初始調(diào)用 ListIterator#next 將返回的第一個元素。 對 ListIterator#previous 的初始調(diào)用將返回具有指定索引減一的元素。

返回的列表迭代器是快速失敗的。

指定者:

接口 ListE 中的 listIterator

覆蓋:

AbstractListE 類中的 listIterator

參數(shù):

參數(shù)名稱 參數(shù)描述
index 要從列表迭代器返回的第一個元素的索引(通過調(diào)用 ListIterator#next)

返回:

此列表中元素的列表迭代器(按正確順序),從列表中的指定位置開始

Throws:

Throw名稱 Throw描述
IndexOutOfBoundsException 如果索引超出范圍 (index < 0 || index > size())

listIterator

public ListIteratorE listIterator()

返回此列表中元素的列表迭代器(以正確的順序)。

返回的列表迭代器是快速失敗的。

指定者:

接口 ListE 中的 listIterator

覆蓋:

AbstractListE 類中的 listIterator

返回:

此列表中元素的列表迭代器(按正確順序)

iterator

public IteratorE iterator()

以正確的順序返回此列表中元素的迭代器。

返回的迭代器是快速失敗的。

指定者:

接口 CollectionE 中的迭代器

指定者:

接口 IterableE 中的迭代器

指定者:

接口 ListE 中的迭代器

覆蓋:

AbstractListE 類中的迭代器

返回:

以正確順序遍歷此列表中的元素的迭代器

forEach

public void forEach(Consumer<? super E> action)

從接口復制的描述:Iterable

對 Iterable 的每個元素執(zhí)行給定的操作,直到處理完所有元素或該操作引發(fā)異常。 除非實現(xiàn)類另有規(guī)定,否則按迭代順序執(zhí)行操作(如果指定了迭代順序)。 操作引發(fā)的異常將轉(zhuǎn)發(fā)給調(diào)用者。

指定者:

接口 IterableE 中的 forEach

參數(shù):

參數(shù)名稱 參數(shù)描述
action 為每個元素執(zhí)行的操作

removeIf

public boolean removeIf(Predicate<? super E> filter)

從接口復制的描述:集合

刪除此集合中滿足給定謂詞的所有元素。 在迭代期間或由謂詞引發(fā)的錯誤或運行時異常將轉(zhuǎn)發(fā)給調(diào)用者。

指定者:

接口 CollectionE 中的 removeIf

參數(shù):

參數(shù)名稱 參數(shù)描述
filter 對于要刪除的元素返回 true 的謂詞

返回:

如果刪除了任何元素,則為 true

replaceAll

public void replaceAll(UnaryOperatorE operator)

從接口復制的描述:列表

將此列表的每個元素替換為將運算符應(yīng)用于該元素的結(jié)果。 操作員拋出的錯誤或運行時異常被轉(zhuǎn)發(fā)給調(diào)用者。

指定者:

接口 ListE 中的 replaceAll

參數(shù):

參數(shù)名稱 參數(shù)描述
operator 應(yīng)用于每個元素的運算符

sort

public void sort(Comparator<? super E> c)

從接口復制的描述:列表

根據(jù)指定 Comparator 產(chǎn)生的順序?qū)υ摿斜磉M行排序。

此列表中的所有元素必須使用指定的比較器進行相互比較(即 c.compare(e1, e2) 不得為列表中的任何元素 e1 和 e2 拋出 ClassCastException)。

如果指定的比較器為空,則此列表中的所有元素都必須實現(xiàn) Comparable 接口,并且應(yīng)使用元素的 Comparable。

此列表必須是可修改的,但不需要調(diào)整大小。

指定者:

在接口 ListE 中排序

參數(shù):

參數(shù)名稱 參數(shù)描述
c Comparator 用于比較列表元素。 空值表示應(yīng)該使用元素的 Comparable

spliterator

public SpliteratorE spliterator()

在此列表中的元素上創(chuàng)建一個后期綁定和快速失敗的拆分器。

Spliterator 報告 Spliterator#SIZED、Spliterator#SUBSIZED 和 Spliterator#ORDERED。 覆蓋實現(xiàn)應(yīng)記錄附加特征值的報告。

指定者:

接口 CollectionE 中的分離器

指定者:

接口 IterableE 中的分離器

指定者:

接口 ListE 中的分離器

返回:

此列表中元素的拆分器

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號