(基于JDK1.8源码分析)

一,Collection

  所有实现Collection接口的类原则上应该提供两种构造函数:

  【1】无参构造-创建一个空的容器

  【2】有参构造-创建一个新的Collection,这个新的Collection和传入的Collection具有相同的元素

二,源码分析

  

public interface Collection<E> extends Iterable<E> {
/** 集合大小 */int size();/** 是否为空 */boolean isEmpty();/** 是否包含指定元素 */boolean contains(Object o);/** 返回用于遍历集合的迭代器*/Iterator<E> iterator();/** 将集合转为数组*/Object[] toArray();/** 将集合转为指定类型数组*/<T> T[] toArray(T[] a);/** 新增元素 */boolean add(E e);/** 删除元素*/boolean remove(Object o);
    /** 集合中是否包含C集合中的元素*/boolean containsAll(Collection<?> c);/** 新增集合元素*/boolean addAll(Collection<? extends E> c);/** 集合中删除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;}/** 集合中只保留C集合中的元素*/boolean retainAll(Collection<?> c);/** 清空集合元素*/void clear(); /** 比较集合元素是否相同*/boolean equals(Object o);/** 计算哈希码*/int hashCode();/***/@Overridedefault 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);}
}

转载于:https://www.cnblogs.com/wanhua-wu/p/6652901.html

JAVA-容器(2)-Collection相关推荐

  1. 【Java心得总结六】Java容器中——Collection

    在[Java心得总结五]Java容器上--容器初探这篇博文中,我对Java容器类库从一个整体的偏向于宏观的角度初步认识了Java容器类库.而在这篇博文中,我想着重对容器类库中的Collection容器 ...

  2. Java容器-面试题

    1. Java 容器都有哪些? Java 容器分为 Collection 和 Map 两大类,其下又有很多子类,如下所示: Collection List ArrayList LinkedList V ...

  3. java容器都有哪些

    java容器有:ArrayList.LinkedList.Vector.HashSet.LinkedHashSet.TreeSet.LinkedHashMap.TreeMap.ConcurrentHa ...

  4. java 容器都有哪些?

    目录 18.java 容器都有哪些? 19.Collection 和 Collections 有什么区别? 20.List.Set.Map 之间的区别是什么? 21.HashMap 和 Hashtab ...

  5. java容器系列一(java容器Collection概述)

    一,Collection容器继承关系图 java容器可谓是学习java必不可少的一部分.日常开发天天用.说起来特别惭愧,原来为了面试囫囵吞枣的看源码,但一直没有理清java容器.特此写这篇博客梳理常用 ...

  6. java 容器_Java容器框架学习整理

    一:容器框架概述 1.什么是容器 2.Java 中的容器 二:Collectoin 容器 1.Collection 接口定义 2.Collection 三个重要的子接口 List.Set.Queue ...

  7. Java知识点总结(Java容器-EnumSet)

    Java知识点总结(Java容器-EnumSet) @(Java知识点总结)[Java, Java容器, JavaCollection, JavaSet] EnumSet EnumSet是一个专为枚举 ...

  8. java 容器_java容器考点总结和源码剖析!!!

    出自:https://github.com/CyC2018/CS-Notes 一.概览 Collection Map 二.容器中的设计模式 迭代器模式 适配器模式 三.源码分析 ArrayList V ...

  9. java 容器_我也来聊聊,JAVA容器与迭代器

    java的容器与迭代器是一个老生常谈的话题了. 本文旨在与大家分享一些关于双向链表与迭代器的运用小技巧,并希望本篇文章的内容能够在项目中给你带来帮助. Stack与LinkedList Stack是一 ...

  10. 后端学习 - Java容器

    文章目录 一 简介 二 底层数据结构总结 1 List 2 Set 3 Queue 4 Map 三 Collection 的子接口 List 1 ArrayList 与 Vector 2 ArrayL ...

最新文章

  1. 基于YOLOV5的数据集标注&训练,Windows/Linux/Jetson Nano多平台部署全流程
  2. 关于cisco与中兴三层设备ospf互连
  3. vue-cli4脚手架搭建实战教程
  4. 自学Java5.19
  5. Java精确到毫秒获取时间的三种方法,以及适用场景
  6. Eclipse c++ 中[Linker error] undefined reference to `WSAStartup@8'的解决办法
  7. 命令行下的curl使用详解
  8. 最全三大框架整合(使用映射)——IDeptDao.java
  9. Sudoku Extension UVALive - 4763
  10. 中缀表达式转换成后缀表达式(只适用于加减乘除运算)
  11. 【React深入】setState的执行机制
  12. 【UVa】Wavio Sequence(dp)
  13. ubuntu安装 gcc 5.4.0
  14. 三大特征 六大原则结合实践运用
  15. python3爬虫实战一: 爬取豆瓣最新上映电影及画出词云分布
  16. 网红品牌终将祛魅,而伊利、康师傅这些老司机们却仍然历久弥新
  17. oracle开机自启
  18. excel之高级筛选与VLOOKUP函数
  19. win10总是很快自动休眠,设置休眠时间也无效?
  20. 【我的读书】《薛兆丰经济学讲义》助你变得更理性、悦纳和进取

热门文章

  1. SQL语句(DQL)
  2. java显示一个钟表_中秋团圆日,月相表来一个呗~
  3. 51NOD 2072 装箱问题 背包问题 01 背包 DP 动态规划
  4. 这可能是关于Pytorch底层算子扩展最详细的总结了!
  5. 轻量级网络之mobilenet_v1
  6. uC/OS-II源码分析(总体思路 二)
  7. opencv 创建图像_非艺术家的图像创建(OpenCV项目演练)
  8. 数据科学的5种基本的面向业务的批判性思维技能
  9. pytorch卷积可视化_使用Pytorch可视化卷积神经网络
  10. 全志A33-串口SLIP的使用