Modifier and Type | Method | Description |
---|---|---|
boolean | add(E e) | 将指定的元素追加到此列表的末尾 |
public boolean add(E e)
将指定的元素追加到此列表的末尾。
Specified by:
add在界面 Collection<E>
Specified by:
add在界面 List<E>
重写:
add在 AbstractList<E>
参数
e - 要附加到此列表的元素
结果
true (由 Collection.add(E)指定 )
public void add(int index, E element)
在此列表中的指定位置插入指定的元素。 将当前位于该位置的元素(如果有)和任何后续元素(向其索引添加一个)移动。
Specified by:
add在接口 List<E>
重写:
add在 AbstractList<E>
参数
index - 要插入指定元素的索引
element - 要插入的元素
异常
IndexOutOfBoundsException - 如果索引超出范围( index < 0 || index > size() )
public boolean addAll(Collection<? extends E> c)
按指定集合的Iterator返回的顺序将指定集合中的所有元素追加到此列表的末尾。 如果在操作进行中修改了指定的集合,则此操作的行为是未定义的。 (这意味着如果指定的集合是此列表,则此调用的行为是未定义的,并且此列表是非空的。)
Specified by:
addAll在界面 Collection<E>
Specified by:
addAll在接口 List<E>
重写:
addAll在类 AbstractCollection<E>
参数
c - 包含要添加到此列表的元素的集合
结果
true如果此列表因呼叫而更改
异常
public boolean addAll(int index, Collection<? extends E> c)
将指定集合中的所有元素插入到此列表中,从指定的位置开始。 将当前位于该位置(如果有的话)的元素和随后的任何元素移动到右边(增加其索引)。 新元素将按照指定集合的迭代器返回的顺序显示在列表中。
Specified by:
addAll中的 List<E>
重写:
addAll在 AbstractList<E>
参数
index - 从中指定集合插入第一个元素的索引
c - 包含要添加到此列表的元素的集合
结果
true如果此列表因呼叫而更改
异常
IndexOutOfBoundsException - 如果指数超出范围( index < 0 || index > size() )
NullPointerException - 如果指定的集合为空
public void clear()
从列表中删除所有元素。 此呼叫返回后,列表将为空。
-
Specified by:
clear
在接口Collection<E>
-
Specified by:
clear
中的List<E>
-
重写:
clear
在AbstractList<E>
-
-
public Object clone()
返回此
ArrayList
实例的浅拷贝。 (元素本身不被复制。) -
重写:
clone
在Object
-
结果
这个
ArrayList
实例的一个克隆 -
public boolean contains(Object o)
如果此列表包含指定的元素,则返回true 。 更正式地说,返回true当且仅当此列表包含至少一个元素e这样(o==null ? e==null : o.equals(e))。
Specified by:
contains在接口 Collection<E>
Specified by:
contains在接口 List<E>
重写:
contains在 AbstractCollection<E>
参数
o - 要在此列表中存在的元素要测试的元素
结果
true如果此列表包含指定的元素
public void forEach(Consumer<? super E> action)
说明从界面: Iterable复制
对Iterable的每个元素执行给定的操作,直到所有
元素都被处理或动作引发异常。 除非实现类另有规定,否则按照迭代的顺序执行操作(如果指定了迭代顺序)。 动作抛出的异常被转发给呼叫者。
Specified by:
forEach在接口 Iterable<E>
参数
action
- 要对每个元素执行的操作
public E get(int index)
返回此列表中指定位置的元素。
Specified by:
get中的 List<E>
Specified by:
get在 AbstractList<E>
参数
index - 要返回的元素的索引
结果
该列表中指定位置的元素
异常
IndexOutOfBoundsException - 如果索引超出范围( index < 0 || index >= size() )
public int indexOf(Object o)
返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。 更正式地,返回最低指数i ,使(o==null ? get(i)==null : o.equals(get(i))) ,或-1如果没有这样的索引。
Specified by:
indexOf中的 List<E>
重写:
indexOf在 AbstractList<E>
参数
o - 要搜索的元素
结果
此列表中指定元素的首次出现的索引,如果此列表不包含元素,则为-1
public boolean isEmpty()
如果此列表不包含元素,则返回 true 。
Specified by:
isEmpty在接口 Collection<E>
Specified by:
isEmpty中的 List<E>
重写:
isEmpty在 AbstractCollection<E>
结果
true如果此列表不包含元素
public Iterator<E> iterator()
以正确的顺序返回该列表中的元素的迭代器。
返回的迭代器是fail-fast 。
Specified by:
iterator在接口 Iterable<E>
Specified by:
iterator在接口 Collection<E>
Specified by:
iterator在接口 List<E>
重写:
iterator类 AbstractList<E>
结果
在这个列表中的元素以适当的顺序迭代
public int lastIndexOf(Object o)
返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。 更正式地,返回最高指数i ,使得(o==null ? get(i)==null : o.equals(get(i))) ,或-1如果没有这样的索引。
Specified by:
lastIndexOf在接口 List<E>
重写:
lastIndexOf在 AbstractList<E>
参数
o - 要搜索的元素
结果
此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则为-1
public E remove(int index)
删除该列表中指定位置的元素。 将任何后续元素移动到左侧(从其索引中减去一个元素)。
Specified by:
remove在界面 List<E>
重写:
remove在 AbstractList<E>
参数
index - 要删除的元素的索引
结果
从列表中删除的元素
异常
IndexOutOfBoundsException - 如果指数超出范围( index < 0 || index >= size()
public boolean remove(Object o)
从列表中删除指定元素的第一个出现(如果存在)。 如果列表不包含该元素,则它不会更改。 更正式地,删除具有最低索引i的元素,使得(o==null ? get(i)==null : o.equals(get(i))) (如果存在这样的元素)。 如果此列表包含指定的元素(或等效地,如果此列表作为调用的结果而更改),则返回true 。
Specified by:
remove在接口 Collection<E>
Specified by:
remove在接口 List<E>
重写:
remove在 AbstractCollection<E>
参数
o - 要从此列表中删除的元素(如果存在)
结果
true如果此列表包含指定的元素
public boolean removeAll(Collection<?> c)
从此列表中删除指定集合中包含的所有元素。
Specified by:
removeAll在界面 Collection<E>
Specified by:
removeAll在接口 List<E>
重写:
removeAll在 AbstractCollection<E>
参数
c - 包含要从此列表中删除的元素的集合
结果
true如果此列表因呼叫而更改
异常
ClassCastException - 如果此列表的元素的类与指定的集合不兼容( optional )
NullPointerException - 如果此列表包含空元素,并且指定的集合不允许空元素( optional ),或者如果指定的集合为空
public boolean removeIf(Predicate<? super E> filter)
说明从界面复制: Collection
删除满足给定谓词的此集合的所有元素。 在迭代或谓词中抛出的错误或运行时异常被转发给调用者。
Specified by:
removeIf在接口 Collection<E>
参数
filter - 一个谓词,为要删除的元素返回 true
结果
true如果有任何元素被删除
public void replaceAll(UnaryOperator<E> operator)
说明从界面: List复制
将该列表的每个元素替换为将该运算符应用于该元素的结果。 运营商抛出的错误或运行时异常被转发给呼叫者。
Specified by:
replaceAll在接口 List<E>
参数
operator - 操作员应用于每个元素
public boolean retainAll(Collection<?> c)
仅保留此列表中包含在指定集合中的元素。 换句话说,从此列表中删除其中不包含在指定集合中的所有元素。
Specified by:
retainAll在接口 Collection<E>
Specified by:
retainAll在界面 List<E>
重写:
retainAll在 AbstractCollection<E>
参数
c - 包含要保留在此列表中的元素的集合
结果
true如果此列表因呼叫而更改
异常
ClassCastException - 如果此列表的元素的类与指定的集合不兼容( optional )
NullPointerException - 如果此列表包含空元素,并且指定的集合不允许空元素( optional ),或者如果指定的集合为空
public E set(int index,E element)
用指定的元素替换此列表中指定位置的元素。
Specified by:
set在界面 List<E>
重写:
set在 AbstractList<E>
参数
index - 要替换的元素的索引
element - 要存储在指定位置的元素
结果
该元素以前在指定的位置
异常
IndexOutOfBoundsException - 如果指数超出范围( index < 0 || index >= size() )
public int size()
返回此列表中的元素数。
Specified by:
size在接口 Collection<E>
Specified by:
size在接口 List<E>
Specified by:
size在 AbstractCollection<E>
结果
该列表中的元素数
public void sort(Comparator<? super E> c)
说明从界面复制: List
使用提供的 Comparator对此列表进行排序,以比较元素。
Specified by:
sort在界面 List<E>
参数
c - 用于比较列表元素的Comparator 。 null值表示应使用元素’ natural ordering ’
public Spliterator<E> spliterator()
在此列表中的元素上创建*late-binding和fail-fast* Spliterator 。
该Spliterator报告Spliterator.SIZED , Spliterator.SUBSIZED和Spliterator.ORDERED 。 覆盖实现应记录其他特征值的报告。
Specified by:
spliterator在接口 Iterable<E>
Specified by:
spliterator中的 Collection<E>
Specified by:
spliterator在界面 List<E>
结果
一个 Spliterator在这个列表中的元素
从以下版本开始:
1.8
public List<E> subList(int fromIndex,int toIndex)
返回指定的fromIndex (含)和toIndex之间的列表部分的视图。(如果fromIndex和toIndex相等,返回的列表为空。)返回的列表由此列表支持,因此返回列表中的非结构性更改将反映在此列表中,反之亦然。返回的列表支持所有可选列表操作。
该方法消除了对显式范围操作(对于数组通常存在的排序)的需要。 任何期望列表的操作都可以通过传递一个子列表视图而不是整个列表来用作范围操作。 例如,以下成语从列表中移除了一系列元素:
list.subList(from, to).clear();
可以为indexOf(Object)和lastIndexOf(Object)构造类似的成语,并且Collections类中的所有算法都可以应用于子列表 。
如果支持列表(即,此列表)以除了通过返回的列表之外的任何方式进行结构修改 ,则此方法返回的列表的语义将变得未定义。 (结构修改是那些改变此列表的大小,或以其他方式扰乱它,使得正在进行的迭代可能产生不正确的结果)。
Specified by:
subList在接口 List<E>
重写:
subList在 AbstractList<E>
参数
fromIndex - fromIndex低端点(含)
toIndex - toIndex高端点(独占)
结果
该列表中指定范围的视图
异常
IndexOutOfBoundsException - 如果端点索引值超出范围 (fromIndex < 0 || toIndex > size)
IllegalArgumentException - 如果端点索引是乱序 (fromIndex > toIndex)
public Object[] toArray()
以正确的顺序(从第一个到最后一个元素)返回一个包含此列表中所有元素的数组。
返回的数组将是“安全的”,因为该列表不保留对它的引用。 (换句话说,这个方法必须分配一个新的数组)。 因此,调用者可以*地修改返回的数组。
此方法充当基于阵列和基于集合的API之间的桥梁。
Specified by:
toArray在接口 Collection<E>
Specified by:
toArray在界面 List<E>
public <T> T[] toArray(T[] a)
重写:
toArray在 AbstractCollection<E>
结果
一个包含该列表中所有元素的数组的数组
以正确的顺序返回一个包含此列表中所有元素的数组(从第一个到最后一个元素);返回的数组的运行时类型是指定数组的运行时类型。如果列表适合指定的数组,则返回其中。否则,将为指定数组的运行时类型和此列表的大小分配一个新数组。
如果列表适用于指定的数组,其余空间(即数组的列表数量多于此元素),则紧跟在集合结束后的数组中的元素设置为null 。 (这仅在调用者知道列表不包含任何空元素的情况下才能确定列表的长度。)
Specified by:
toArray在接口 Collection<E>
Specified by:
toArray在接口 List<E>
重写:
toArray在 AbstractCollection<E>
参数类型
T - 包含集合的数组的运行时类型
参数
a - 要存储列表的元素的数组,如果它够大; 否则,为此目的分配相同运行时类型的新数组。
结果
一个包含列表元素的数组
异常
ArrayStoreException - 如果指定数组的运行时类型不是此列表中每个元素的运行时类型的超类型
NullPointerException - 如果指定的数组为空
public void trimToSize()
修改这个ArrayList
实例的容量是列表的当前大小。 应用程序可以使用此操作来最小化ArrayList
实例的存储