(请关注 本人“集合总集篇”博文——《详解 集合框架》

首先,本人来讲解下 Collection集合的继承体系

Collection集合 的继承体系:

Collection接口是集合框架 的 顶层接口之一,而Collection接口的继承体系如下所示:

父接口:

  • Iterable接口

子接口:

  • List泛型接口,
  • BeanContext,
  • BeanContextServices,
  • BlockingDeque泛型接口,
  • BlockingQueue泛型接口,
  • Deque泛型接口,
  • NavigableSet泛型接口
  • Queue泛型接口
  • Set泛型接口
  • SortedSet泛型接口

子实现类:

  • ArrayList
  • LinkedList
  • Vector
  • HashSet
  • LinkedHashSet,

    TreeSet

    AbstractCollection, AbstractList, AbstractQueue, AbstractSequentialList, AbstractSet, ArrayBlockingQueue, ArrayDeque, AttributeList, BeanContextServicesSupport, BeanContextSupport, ConcurrentLinkedQueue, ConcurrentSkipListSet, CopyOnWriteArrayList, CopyOnWriteArraySet, DelayQueue, EnumSet, JobStateReasons, LinkedBlockingDeque, LinkedBlockingQueue, PriorityBlockingQueue, PriorityQueue, RoleList, RoleUnresolvedList, Stack, SynchronousQueue,

上示为Collection接口的 实现类 和 子接口。

但是,在我们今后的学习工作过程中,主要应用的 实现类 和 子接口 如下:


Collection集合 的常用API:

本人现在按照功能来介绍一下这个接口的API,以便后续内容的讲解:

  1. 添加功能
  • boolean add(Object obj):

    添加一个元素
  • boolean addAll(Collection c):

    添加一个集合的元素 (给一个集合添加进另一个集合中的所有元素)
  1. 删除功能
  • void clear():移除所有元素
  • boolean remove(Object o):

    移除一个元素
  • boolean removeAll(Collection c):

    移除一个集合的元素(移除一个以上返回的就是true) 删除的元素是两个集合的交集元素 如果没有交集元素

    删除失败 返回false
  1. 判断功能
  • boolean contains(Object o):

    判断集合中是否包含指定的元素
  • boolean containsAll(Collection c):

    判断集合中是否包含指定的集合元素

    (这个集合 包含 另一个集合中所有的元素才算包含 才返回true)

    比如:1,2,3 containsAll 1,2=true

    1,2,3 containsAll 2,3,4=false
  • boolean isEmpty():

    判断集合是否为空
  1. 把集合转换为数组
  • Object[] toArray()
  1. 长度功能
  • int size():元素的个数
  1. 交集功能
  • boolean retainAll(Collection c):获取两个集合的交集元素(交集:两个集合都有的元素)
  1. 获取功能
  • Iterator iterator()(重点)

那么,如果我们想要遍历一个集合,按照我们之前的手段,肯定是先把集合转换成一个数组,然后遍历这个数组。

但是,这样一来,在特定的情况下,是很麻烦的

所以Java提供了一个机制来解决这个问题 —— 迭代器


迭代器:

请关注本人博文——《详解 迭代器 —— Iterator接口、 ListIterator接口 与 并发修改异常》


那么,现在,本人来通过两篇博文来分别讲解下 Collection集合的继承体系中 两个重要子接口 —— List接口Set接口

List接口:

请关注本人博文《详解 List接口》


Set接口:

请关注本人博文《详解 Set接口》


那么,本篇博文的主要内容就讲解完了,若是对上述知识点或代码有任何疑惑、意见或者建议,请在下方评论区提出,本人将尽早予以答复,觉得有所帮助的同学请留下小赞赞,谢谢!!!

(集合总集篇链接:https://www.cnblogs.com/codderYouzg/p/12416560.html

详解 Collection集合的更多相关文章

  1. Java集合排序及java集合类详解--(Collection, List, Set, Map)

    1         集合框架 1.1         集合框架概述 1.1.1         容器简介 到目前为止,我们已经学习了如何创建多个不同的对象,定义了这些对象以后,我们就可以利用它们来做一 ...

  2. 详解 Map集合

    (请关注 本人"集合总集篇"博文--<详解 集合框架>) 首先,本人来讲解下 Map集合 的特点: Map集合 的特点: 特点: 通过 键 映射到 值的对象 一个 映射 ...

  3. JAVA集合详解(Collection和Map接口)

    原文地址http://blog.csdn.net/lioncode/article/details/8673391 在JAVA的util包中有两个所有集合的父接口Collection和Map,它们的父 ...

  4. 详解Map集合体系及方法entrySet、keySet、values

    简单回顾Map集合: Map表示映射关系,以键值对的方式来保存数据.key和value一一对应.key是唯一的,不可重复,而value是可重复的,可以被多个key关联.虽然Map是放入两个数据,但是却 ...

  5. 详解SQL集合运算

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 ...

  6. Tarjan算法详解理解集合

    [功能] Tarjan算法的用途之一是,求一个有向图G=(V,E)里极大强连通分量.强连通分量是指有向图G里顶点间能互相到达的子图.而如果一个强连通分量已经没有被其它强通分量完全包含的话,那么这个强连 ...

  7. java如何对map进行排序详解(map集合的使用)

    今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序. 一.简单介绍Map 在讲解Map排 ...

  8. 详解 迭代器 —— Iterator接口、 ListIterator接口 与 并发修改异常

    (请关注 本人"Collection集合"博文--<详解 Collection集合>) Iterator接口(迭代器): 概述: 对 collection 进行迭代的迭 ...

  9. 详解 List接口

    本篇博文所讲解的这两个类,都是泛型类(关于泛型,本人在之前的博文中提到过),我们在学习C语言时,对于数据的存储,用的差不多都是数组和链表. 但是,在Java中,链表就相对地失去了它的存在价值,因为Ja ...

随机推荐

  1. 证明与计算(7): 有限状态机(Finite State Machine)

    什么是有限状态机(Finite State Machine)? 什么是确定性有限状态机(deterministic finite automaton, DFA )? 什么是非确定性有限状态机(nond ...

  2. OSLab:开启保护模式

    日期:2019/5/22 关键词:操作系统:OS:保护模式:A20地址线激活:分页开启:二级页表的设置 PS:OSLAB实验课的整理. 本文主要内容是分析操作系统中一个简易的MBR. 建议先阅读:ht ...

  3. 5分钟配置好你的AI开发环境

    作者 | Revolver 无论是第一次设置TensorFlow的新手数据科学爱好者,还是使用TB级数据的经验丰富的AI工程师,安装库.软件包或者框架总是一个困难又繁琐的过程.但是像Docker这样的 ...

  4. Django安装和使用

    Django安装 安装Django Python3在线安装Django pip3 install Django 验证是否安装成功,并查看当前版本 python -m django --version ...

  5. Python数据库之数据库基本操作

    安装(基于centos) yum -y install mariadb mariadb-server # centos7版本 yum -y install mysql mysql-server #ce ...

  6. Spring Boot创建一个HelloWorld项目

    目录 Spring Boot 简介 微服务框架 以前使用spring开发web的方式 Spring Boot 启动器介绍 如何创建一个helloword的SpringBoot项目 Spring Boo ...

  7. CentOS 编译安装 Emacs 并配置

    Linux 中 CentOS 系列一向以稳定为目标,然而也会存在版本太旧的问题,Emacs 就是其中的一个,目前 Emacs 都发行到 25.2 了,而 CentOS 上的 Emacs 版本却还是 2 ...

  8. 面试总结:关于MySQL事务的10个问题常见面试问答(FQA)

    学习关系型数据库MySQL是很好的切入点,大部分人工作中用惯了CRUD,对面试官刨根问底的灵魂拷问你还能对答如流吗?我们有必要了解一些更深层次的数据库基础原理. 文章每周持续更新,各位的「三连」是对我 ...

  9. MySQL从库实用技能(一)--巧用slave_exec_mode参数

    想必从库异常中断的情况不在少数,其中报错信息中1032及1062的错误占了不少的比重 错误1032指的是从库中找不到对应行的记录 错误1062指的是主键冲突 遇到此报错时,大多DBA会使用如下方法进行 ...

  10. SpringMVC(四):数据处理和过滤器

    本文是按照狂神说的教学视频学习的笔记,强力推荐,教学深入浅出一遍就懂!b站搜索狂神说或点击下面链接 https://space.bilibili.com/95256449?spm_id_from=33 ...