Java大致分类:

1、set:代表无序,不可重复的集合

2、List:代表有序、可重复的集合

3、Map:代表具有映射关系的集合

4、Queue:JDK1.5之后新增的一种集合,代表一种队列集合的实现

集合框架设计要满足的目标:

  • 该框架必须是高性能的。基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的。

  • 该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性。

  • 对一个集合的扩展和适应必须是简单的。

Java语言集合的框架图:

由上图可知:

集合接口:6个接口(短虚线组成)Collection、List、set、Map、Iterator、Compareable

    表示不同的集合类型,是集合框架的基础。

抽象类:5个抽象类(长虚线表示)

    对接口的部分实现,可扩展为自定义集合类

实现类:8个实现类(实现表示)

    对接口的具体实现。

对于整个框架来说,一旦理解了接口就代表理解了整个框架

总要创建接口的特定实现,但是访问实际集合的方法都是限制在接口方法的使用上

主要经常使用到的接口:

1、Conllection:接口是一个允许重复的对象

2、Set接口:继承Collection,但是不允许重复,使用自己内部的一个排列机制

3、List接口:继承Collection,允许重复,以元素的插入次序来放置元素,不会重新排列

4、Map接口:是一组对 键-----值 组成的

      Map中不能有重复的key,拥有自己的内部排列机制

集合框架体系:

之后的测试中都会进行相关的源码进行分析

懂底层才能更好的学习集合

转载于:https://www.cnblogs.com/Mrchengs/p/10842019.html

1、集合--相关概述相关推荐

  1. jvm学习第十、十一天、十二天—垃圾回收器1、垃圾回收的相关概述2、 垃圾回收相关算法3、 垃圾回收器

    标题:jvm学习第十.十一天.十二天-垃圾回收器 学习内容: 1.垃圾回收的相关概述 2. 垃圾回收相关算法 3. 垃圾回收器 内容详情: 1.垃圾回收的相关概述 什么是垃圾( Garbage)? 垃 ...

  2. Neo4j 图数据库高级应用系列 / 服务器扩展指南 APOC (8.4) - 集合相关操作

    1.概述 在Cypher查询语言中,集合的使用非常普遍.集合的元素可以是简单类型的值.节点.关系.路径,甚至混合类型.下面的例子是产生集合的一些常用方法: // 返回一个包含从1到10 的整数集合 R ...

  3. Java集合(一)集合框架概述

    文章目录 一.集合框架 1.1 常用的集合 1.2 线程安全的集合 1.3 "fail-fast"机制 1.3.1 "fail-fast"机制是什么 1.3.2 ...

  4. STL源码学习----集合相关算法

    STL一共提供了四种与集合相关的算法,分别是并集(union), 交集(intersection),差集(difference),对称差集(symmetric difference). 这四种集合算法 ...

  5. 后退返回命令数量_Redis | Redis 有序集合相关命令

    Redis 支持多种数据结构,比如 字符串.列表.集合.有序集合 和 哈希 等数据结构.本次我整理了关于 有序集合 相关的命令,也就是关于 Sorted Sets 相关的命令,如下图. 上图中用红色圈 ...

  6. html笔记(二)html4+css2.0(元素类型、css精灵、宽度自适应、BFC、浏览器相关概述、css统筹)

    大标题 小节 一.元素类型 1. 元素分类 2. 置换和非置换元素 3. 元素类型转换 二.css精灵 三.宽高自适应 1. 宽度自适应 2. 高度自适应 3. 最小高度自适应 4. 高度塌陷及解决办 ...

  7. Java集合框架概述及Collection接口方法讲解

    Java集合框架概述 一方面, 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象 的操作,就要对对象进行存储.另一方面,使用Array存储对象方面具有一些弊 端,而Java 集合就像一种容 ...

  8. Java基础---集合的概述---list、set、map、泛型、collections

    集合的概述 单列集合的体系: Collection 单列集合的顶层接口 List Collection的子接口,增加了一些特有的方法,有序 可以重复 有索引 ArrayList 底层采用的数组结构实现 ...

  9. python函数控制词典_Python 基础之集合相关操作与函数和字典相关函数

    一:集合相关操作与相关函数 1.集合相关操作(交叉并补) (1)intersection() 交集 set1 = {"one","two","thre ...

最新文章

  1. 关机时 ,提示其他用户登录到这台计算机,关闭WINDOWS会使他们丢失数据
  2. 成功解决 shape = predictor(img, dets[0]) IndexError: Index out of range
  3. 绝了!Pandas绘图功能
  4. recorder-list
  5. 谷歌翻译api_翻译:TensorFlow on Android APP 示例
  6. 从零开始实现 ASP.NET Core MVC 的插件式开发(七) - 问题汇总及部分问题解决方案...
  7. 【BZOJ3669】【codevs3314】魔法森林,写作LCT,读作SPFA
  8. Akash Network主网现已部署Sushiswap应用
  9. python flask_Python Flask框架详解
  10. matlab衰减指数的程序是,如何用MATLAB仿真单指数衰减振荡波
  11. rrt matlab算法,rrt算法matlab代码
  12. 起始方位角怎么确定_工程测量中的导线测量,最初的方位角怎么求?
  13. Mac使用技巧:磁盘如何分区
  14. java中闰月_java 实现万年历
  15. 满满干货!15个经典面试问题及答案
  16. 澳大利亚维多利亚州旅游局力推高尔夫主题体验
  17. ENSP与本地网络互连
  18. IP地址中的网络地址和主机地址分别是什么意思?
  19. BZOJ3772 精神污染
  20. 开源夏令营之项目汇报7

热门文章

  1. jvm性能调优 - 18白话G1垃圾回收器的工作原理
  2. Shell - 通过hook文件后门实现应用的自动启停
  3. Linux 备份及恢复 Linux 文件权限
  4. 在 Shell 脚本中执行语法检查调试模式
  5. mysql 之后,装完MySQL之后的一些操作
  6. html让元素纵向排列,html – 如何使元素排列到父元素的外边缘
  7. 2020-12-09 深度学习 经典CNN模型计算量与内存需求分析
  8. 网络带宽和速度测试windows和linux iperf工具
  9. java fork join原理_Java并发Fork-Join框架原理解析
  10. VUE 使用插件vue-clipboard2复制内容至剪切板(两种使用方法)