文章目录

  • 前言
  • 一、Collection接口是什么?
  • 二、Collection接口提供的方法
    • 1.boolean addAll(Collection<? super T> c, T... elements)
    • 2.boolean add(E e)
    • 3. void clear()
    • 4.boolean contains(Object o)
    • 5boolean containsAll(Collection<?> c)
    • 6.boolean isEmpty()
    • 7. boolean remove(Object o)
    • 8.boolean removeAll(Collection<?> c)
    • 9.boolean retainAll(Collection<?> c)
    • 10. int size()
    • 11.Object[] toArray()
    • 12. T[] toArray(T[] a)
    • 13. boolean equals(Object o);
  • 三.Collection接口在Java8中的函数扩展
    • 实现了Iterable接口
      • Iterable 接口方法介绍
        • Iterator iterator();
        • void forEach(Consumer<? super T> action)
        • Spliterator spliterator()

前言

Collection接口和Map接口是集合框架库中重要的两个接口其余框架的实现都是基于这两个接口来实现的,现在我们先来研究一下Collection接口。


提示:以下是本篇文章正文内容,下面案例可供参考

一、Collection接口是什么?

示例:此接口仅由静态方法组合或返回集合。 它包含对集合进行操作的多态算法,“包装器”,返回由指定集合支持的新集合,以及其他一些可能的和最终的。

二、Collection接口提供的方法

 这里大家可以看Api文档,讲的比我自己理解的好很多。这里我只是想顺便锻炼一下自己看英文文献的能力。并且很多不懂的我都是照搬了Api文档

1.boolean addAll(Collection<? super T> c, T… elements)

     将所有指定的元素添加到指定的集合。

2.boolean add(E e)

 向集合中添加一个元素。集合更改则添加成功返回true

3. void clear()

 清空掉集合中的所有元素

4.boolean contains(Object o)

如果集合中包含指定元素那么返回true。特别的,如果集合中也包含NULL元素的时候并且要查找的元素也是NULL的时候也返回true。

5boolean containsAll(Collection<?> c)

     如果该集合中包含指定集合中的所有元素的时候返回true。

6.boolean isEmpty()

 如果集合中没有元素返回true。

7. boolean remove(Object o)

 删除集合中的指定的元素。如果存在NULL,也删除。

8.boolean removeAll(Collection<?> c)

删除当前集合中所有等于指定集合中的元素。。

9.boolean retainAll(Collection<?> c)

仅保留该指定集合中存在的所有元素。其余删除

10. int size()

 返回该集合中元素的个数。如果超过了Integer.MAX_VALUE,那么返回Integer.MAX_VALUE。

11.Object[] toArray()

这个方法是集合和数组转化的桥梁。见名知意,返回包含此集合中所有元素的数组。如果这个集合的迭代器保证元素有序,那么该方法与其迭代器中元素顺序一致。并且该方法返回的数组是拷贝出来的(某些集合底层数组实现,区别这个),可以进行任意的更改。

12. T[] toArray(T[] a)

该方法可以对返回的数组类型进行精确控制。而非像toArray方法一样返回Object[]。
返回集合中所有元素到该数组中。如果这个数组可以容纳下的话,否则返回一个新new的数组,容量和集合中元素数量一致。如果指定的数组容量大于集合中元素个数,数组空闲位置填NULL。如果这个集合的Iterator具有顺序性的话,数组元素顺序与该迭代器一致。

13. boolean equals(Object o);

判断集合O和this集合是否相等 相等返回true 子类可以实现它的不同形式

三.Collection接口在Java8中的函数扩展

实现了Iterable接口

Iterable 接口方法介绍

Iterator iterator();

返回一个iterator迭代器

void forEach(Consumer<? super T> action)

利用lambda来实现遍历集合

Spliterator spliterator()

Spliterator是一个可分割迭代器(splitable iterator),可以和iterator顺序遍历迭代器一起看。

Collection接口详解相关推荐

  1. 2接口详解_java集合【2】——— Collection接口详解

    一.Collection接口简介 二.Collection源码分析 三.Collection的子类以及子类的实现 3.1 List extend Collection 3.2 Set extend C ...

  2. Java Collection接口详解

    Collection 接口是 List.Set 和 Queue 接口的父接口,通常情况下不被直接使用.Collection 接口定义了一些通用的方法,通过这些方法可以实现对集合的基本操作.定义的方法既 ...

  3. java集合框架的接口_Java集合框架之Collection接口详解

    Java是一门面向对象的语言,那么我们写程序的时候最经常操作的便是对象了,为此,Java提供了一些专门用来处理对象的类库,这些类库的集合我们称之为集合框架.Java集合工具包位于Java.util包下 ...

  4. Collection 接口详解

    Collection是所有单列集合的父接口 多了不说先上图大家看一下集合的上下属关系 在Collection中定义了单列集合(List和Set)通用的一些方法,这些方法可用于操作所有的单列集合.方法如 ...

  5. html5硬件接口,HTML5通用接口详解

    1.先说几个基本类型: DOMString, boolean, long, unsigned long, double,BmBHTML5中文学习网 - HTML5先行者学习网 NaN(Not-a-Nu ...

  6. 集合 (一) ----- 集合的基本概念与Collection集合详解

    相关文章: <集合 (一) ----- 集合的基本概念与Collection集合详解> <集合 (二) ----- Map集合详解> 文章目录 集合的基本概念 一.集合的分类 ...

  7. Java6.0中Comparable接口与Comparator接口详解

    Java6.0中Comparable接口与Comparator接口详解 说到现在,读者应该对Comparable接口有了大概的了解,但是为什么又要有一个Comparator接口呢?难道Java的开发者 ...

  8. 【java8新特性】——lambda表达式与函数式接口详解(一)

    一.简介 java8于2014年发布,相比于java7,java8新增了非常多的特性,如lambda表达式.函数式接口.方法引用.默认方法.新工具(编译工具).Stream API.Date Time ...

  9. Spring使用IOC容器创建对象及ClassPathXmlApplicationContext与FileSystemXmlApplicationContext接口详解

    IOC容器创建对象及接口详解 引言 类的建立 配置文件 IOC创建对象 运行结果 接口详解 (1)接口一`ClassPathXmlApplicationContext` (2)接口二:`FileSys ...

最新文章

  1. C++是不是类型安全的?
  2. C#连接基于Java开发IM——Openfire
  3. Mr.J--C语言经典编程100例
  4. Python实现字符串对齐
  5. 赤小豆和红小豆有什么区别,哪种和薏米煮粥更好些?
  6. 硬核!尽量避免 bug 手法,让测试彻底失业
  7. 科技部部长:院士头衔不是学术不端挡箭牌!已有多位院士、校长等被“拿下”...
  8. 情态 语态_情绪与情态与对话情感
  9. ERP系统与精益生产
  10. laravel 生成二维码
  11. java web 徐林林_零点起飞学Java Web开发 (徐林林) 高清PDF
  12. 关于谷歌的一个简单工具以及chrome浏览器更新方法
  13. java中输出值保留四位小数_JAVA基础笔记(1)
  14. Android强制竖屏
  15. day04-Testin云测平台操作
  16. 视频剪辑配乐技巧 视频剪辑配音推荐
  17. MATLAB强化学习实战(一) 强化学习智能体训练总览
  18. 神码ai人工智能写作机器人_机器学习简介part1与人工智能的比较
  19. google海底光缆图_Google领头建造横跨太平洋海底光缆PLCN:连接香港,120Tbps
  20. 优启通U盘安装原版Win xp系统教程

热门文章

  1. LinQ中Skip()方法和Take()方法的使用
  2. 《iOS 6高级开发手册(第4版)》——1.5节秘诀:使用加速能力“向上”定位
  3. Intellij idea generate builder 插件-用于自动生成builder模式代码
  4. 关于iptables
  5. Nginx安装与配置文件解析
  6. 借助Ant工具,实现快速开发
  7. asp.net 中chartlet 统计图表的的使用
  8. Citus数据分片分布研究(一 在工作节点直接操作表)
  9. 16.ajax_case08
  10. 第6次全天课笔记-20180819