Java集合框架详解(二)——Collection源码分析
来源:互联网 发布:淘宝退换货说明 编辑:程序博客网 时间:2024/06/05 19:09
Collection源码:
package java.util;import java.util.function.Predicate;import java.util.stream.Stream;import java.util.stream.StreamSupport;public interface Collectionextends Iterable {//定义长度int size();//是否为空boolean isEmpty();//是否包含某个元素boolean contains(Object o);//返回一个迭代器iteratorIterator iterator();//返回集合中所有元素组成的数组,数组元素的返回顺序要和迭代器访问集合元素的返回顺序一样 Object[] toArray();//返回包含此 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同。 T[] toArray(T[] a);//向集合中添加一个元素,如果集合不允许重复元素,且集合中已经含有该元素,返回falseboolean add(E e);//从此集合中移除一个指定元素,如果集合中存在指定元素,返回trueboolean remove(Object o);//如果此集合中包含指定集合中的所有元素,则返回trueboolean 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 each = iterator();while (each.hasNext()) {if (filter.test(each.next())) {each.remove();removed = true;}}return removed;}//仅保留此集合中那些也包含在指定集合中的元素boolean retainAll(Collection> c);//移除此集合的所有元素void clear();//比较次集合与指定对象是否相等,通过覆盖,实现list与list相等,set与set相等boolean equals(Object o);//返回此集合的哈希值int hashCode();@Overridedefault Spliterator spliterator() {return Spliterators.spliterator(this, 0);}default Stream stream(){return StreamSupport.stream(spliterator(), false);}default Stream parallelStream(){return StreamSupport.stream(spliterator(), true);}}
从源码中可以看出Collection是一个接口,它是一个高度抽象出来的集合,包含了集合的基本操作:添加、删除、清空、遍历、是否为空、获取大小等。
阅读全文
0 0
- Java集合框架详解(二)——Collection源码分析
- java集合框架(二) Collection架构与源码分析
- java集合框架(二)——Collection(集合)类
- java集合框架02——Collection架构与源码分析
- java集合框架02——Collection架构与源码分析
- java集合框架02——Collection架构与源码分析
- java集合框架02——Collection架构与源码分析
- java集合框架02——Collection架构与源码分析
- java集合框架02——Collection架构与源码分析
- Java 集合框架源码分析(二)——LinkedList
- Java 集合框架源码分析(二)——LinkedList
- Java 集合框架源码分析(二)——LinkedList
- Java集合框架(二)--Collection
- Java集合框架01-Collection架构与源码分析
- java集合框架11——TreeMap和源码分析(二)
- java集合(一)——集合框架 Collection, Map
- 黑马程序员_集合框架(二)——Collection
- Java集合框架(2)—ArrayList源码分析
- 归往昔
- Struts2_防止表单重复提交
- Java 之Socket通信(二)
- highchart的几种数据组织形式
- 十大Intellij IDEA快捷键
- Java集合框架详解(二)——Collection源码分析
- fedora25 26系统 SecureCRT SecureFX 注册破解方法
- Sigma Function (找规律?)
- 欢迎使用CSDN-markdown编辑器
- PermGen space错误解决方法
- Visual Box 的 Host-only 连接
- 前端mvc Model和Control 要分别两个.js文件写吗?
- 着陆之后的路人甲
- hadoop伪集群配置