jdk1.8 List接口默认方法说明

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迭代器,以正序的规则。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值