Java集合框架源码分析 - Collection接口

Collection是所有列表类容器的顶层接口,在Collection框架的位置如下图所示《Java集合框架源码分析 - Collection接口》

没有类直接实现Collection接口的,Collection和真正的实现类中间会有其他接口或者抽象类存在,后面我们一个一个的讲。
Collection接口作为Collection框架的顶层接口,几乎声明了所有Collection型容器的所有方法,是否重复List和Set接口对它进行了补充,我们看下Collection有哪儿写方法声明。

描述符和返回值方法名方法描述
booleanadd(E e)向容器里添加元素,如果容器不允许添加重复的元素,比如Set,则会返回失败,如果不是因为重复的原因返回失败,一定要抛出异常。
booleanaddAll(Collection<? extends E> c)和add()方法一样,这个方法是增加一个容器里的内容到现有的容器中。
voidclear()清空容器里的所有元素。
booleancontains(Object o)是否包括一个元素,比较方法一定是通过equals判断,而不是判断它的引用
booleancontainsAll(Collection<?> c)判断现有容器是否包括参数容器里的所有元素,如果容器类型不一样或者转换失败,会抛出异常。
booleanequals(Object o)重写了Object的equals方法。
inthashCode()重写Obejct的hashCode()方法。
booleanisEmpty()容器是否为空。
Iterator<E>iterator()返回容器一个迭代器。
default Stream<E>parallelStream()返回一个并发流,用的比较少。
booleanremove(Object o)如果包括一个元素,则会从容器中删除它。
booleanremoveAll(Collection<?> c)和remove一样,清空容器c的所有元素
default booleanremoveIf(Predicate<? super E> filter)清空满足传入的过滤器的所有元素。
booleanretainAll(Collection<?> c)和removeAll相反,这个方法会保留在容器C里的元素。
intsize()返回容器中元素的个数
default Spliterator<E>spliterator()创建容器的一个并发迭代器,Java8之后才有。
default Stream<E>stream()返回Stream流,java8之后才有
Object[]toArray()按照容器中元素的顺序返回一个包括所有元素的数组,返回的数组已经和容器没有任何关系了,可以随便修改,是数组和容器的桥梁方法。
<T> T[]toArray(T[] a)和上面的方法功能一样,参数传入的数组和返回的数组是同一个。
    原文作者:java集合源码分析
    原文地址: https://blog.csdn.net/feigeswjtu/article/details/79217591
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞