超详细的逐句介绍Java高级接口之Collection接口底层源码讲解

一、Collection接口

Collection接口是Java集合接口的父类,这些被List、Map、Set、Queue继承,这里面定义了静态方法。下面我将从源码角度介绍Collection接口类定义的静态方法。

二、方法

首先,定义Collection接口是继承与迭代的

public interface Collection<E> extends Iterable<E> {
}

定义了静态方法大小

int size();

定义了静态方法是否为空

boolean isEmpty();

定义了静态方法是否为空

boolean contains(Object o);

定义了迭代器的方法

 Iterator<E> iterator();

定义了静态方法对象转化为数组

Object[] toArray();

定义静态方法泛型T转换为数组

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

定义了静态方法追加元素

boolean add(E e);

定义了移除元素的静态方法

boolean remove(Object o);

定义了静态方法是否被完全包含

boolean containsAll(Collection<?> c);

定义了全部添加的静态方法

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

定义全部移除的静态方法

boolean removeAll(Collection<?> c);

定义了是否能移除的方法

default boolean removeIf(Predicate<? super E> filter) {
        Objects.requireNonNull(filter);
        boolean removed = false;
        final Iterator<E> each = iterator();
        while (each.hasNext()) {
            if (filter.test(each.next())) {
                each.remove();
                removed = true;
            }
        }
        return removed;
    }

定义了是否保持的静态方法

boolean retainAll(Collection<?> c);

定义了清空的静态方法

void clear();

定义是否相等的静态方法

boolean equals(Object o);

定义了获取哈希代码的静态方法

int hashCode();

定义了分离器的方法

default Spliterator<E> spliterator() {
        return Spliterators.spliterator(this, 0);
    }

定义了流方法包括输入流和输出流

default Stream<E> stream() {
        return StreamSupport.stream(spliterator(), false);
    }

定义了并行流的静态方法

default Stream<E> parallelStream() {
        return StreamSupport.stream(spliterator(), true);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绝域时空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值