int size();
返回list的长度。
boolean isEmpty();
判断list是否为空。
boolean contains(Object o);
判断list是否包含指定对象。
Iterator<E> iterator();
以适当的顺序返回列表中元素的迭代器
Object[] toArray();
将list中的元素以Object数组的形式返回。
<T> T[] toArray(T[] a);
以数组返回列表中元素,返回数组的运行时类型是指定数组的运行时类型。
boolean add(E e);
list增加自定元素。
boolean remove(Object o);
list移除指定元素,若list包含改元素,返回true,反之false.
boolean containsAll(Collection<?> c);
判断list是否包含指定集合。
boolean addAll(Collection<? extends E> c);
队尾添加指定集合,集合类型继承自E,成功true,反之false.
boolean addAll(int index, Collection<? extends E> c);
指定位置添加指定集合,集合类型继承自E,成功true,反之false.
boolean removeAll(Collection<?> c);
移除指定集合,移除成功true,反之false.
boolean retainAll(Collection<?> c);
保留指定集合,保留成功true,反之false.
void clear();
清空list.
boolean equals(Object o);
判断list是否相等
int hashCode();
返回哈希码。
E get(int index);
获取指定下标元素
E set(int index, E element);
指定位置用指定元素更新原来的元素。
void add(int index, E element);
指定位置添加元素,并将后面的list往后移动一位,可能涉及list扩展。
E remove(int index);
删除指定位置元素。
int indexOf(Object o);
返回指定元素第一次出现的下标。
int lastIndexOf(Object o);
返回指定元素最后一次出现的下标。
ListIterator<E> listIterator();
返回list迭代器。
ListIterator<E> listIterator(int index);
将index之后的list元素返回list迭代器。
List<E> subList(int fromIndex, int toIndex);
分割list。
default void replaceAll(UnaryOperator<E> operator) {
Objects.requireNonNull(operator);
final ListIterator<E> li = this.listIterator();
while (li.hasNext()) {
li.set(operator.apply(li.next()));
}
}
jdk1.8的特性,虚拟扩展方法默认方法。以UnaryOperator继承自function类的apply方法更新list元素。
default void sort(Comparator<? super E> c) {
Object[] a = this.toArray();
Arrays.sort(a, (Comparator) c);
ListIterator<E> i = this.listIterator();
for (Object e : a) {
i.next();
i.set((E) e);
}
}
排序,根据Comparator类的规则排序,并更新list。
default Spliterator<E> spliterator() {
return Spliterators.spliterator(this, Spliterator.ORDERED);
}
返回Spliterator迭代器,以正序的规则。