Java集合框架的由来:

Java最初版本只为最常用的数据结构提供了很少的一组类:比如Vector、Stack、Hashtable、BitSet、Enumerrationr接品,其中Enumerrationr接口提供了一种用于访问任意容器中各个元素的抽象机制。这是一种很明智的选择,但要想建立一个全面的集合类库还需要大量的时间和高超的技能。

随着Java SE 1.2的问世,设计人员感到是推出一组功能完善的数据结构的时机到了,面对一大堆相互矛盾的设计策略,他们希望让类库规模(STL)小且易于学习,而不希望像C++的标准模板库那样的复杂,但却又希望得到STL率先推出的泛型算法所具有的优点,他们希望将传统的类融入新的框架中,与所有的集合类设计者一样,他们必须做出一些艰难的选择,于是,他们在整个设计过程中,做出了一些独具特色的设计决定。

为什么会存在容器类?容器类(集合类)可以存储多个数据,既然数组可以存储多个数据,那为什么还要定义容器类?

因为数组存在一些弊端:

长度是不可变的,一旦数线初始化之后,长度是固定的;

在N个地方需要存储多个数据,都得专门去编写数组的操作方法,如此一来,没有体现DRY原则;

即使每一个人都要使用到数组类,但是不同的人定义的类名和方法名是不同的,实现细节也是参差不齐的。

什么是集合框架?

尽管上面讲到的容器类非常好用,但是却不能集中和统一管理。集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。任何集合框架都包含三大块内容:对外的接口,接口的实现和对集合运算的算法(底层都对应着某一种数据结构的算法)。

为什么需要集合框架(把集合框架的类和接口都放在java.util包中)?

提供功能的复用;

让程序猿专业于业务的开发,而不是数据结构和算法。

Java集合框架

常用的框架接口规范:

Set(集):集合的对象不按特定方式排序,不允许元素重复;

List(列表):集合中的对象按照索外位置排序,允许元素重复;

Map(映射):集合中每一个元素都包含一对key和value对象,不允许key对象重复,值 对象可以重复。

常用的集合类

文章来源于: 酱豆解说搞笑,版权归原作者所有,如有侵权,请联系 guanwang@163yun.com 删除。

java的核心类库_Java核心类库,集合框架相关推荐

  1. Educoder–Java高级特性(第二章)- 集合框架【笔记+参考代码】

    Educoder–Java高级特性(第二章)- 集合框架[笔记+参考代码] 第一关 编程要求 请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,创建ArrayList集 ...

  2. java中的集合框架_JAVA中的集合框架(上)List

    第一节 JAVA中的集合框架概述 集合的概念,现实生活中:很多事物凑在一起就是一个集合:数学中的集合:具有相同属性事物的总体:JAVA中的集合:是一种工具类,就像是容器,储存任意数量的具有共同属性的对 ...

  3. java map清除值为null的元素_Java中的集合框架大总结

    直接上图: 从上面的集合框架图可以看到:Java集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合:另一种是图(Map),存储键/值对映射.Collection接口又 ...

  4. java list 差集_Java基础之集合框架

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

  5. java集合框架中抽象有序列表的接口是_JAVA基础接口集合框架

    接口 -------------------------------------------------------------------------------- 一.接口(是一种规范) 1.接口 ...

  6. java实现用户登录注册功能(用集合框架来实现)

    需求:实现用户登录注册功能(用集合框架来实现) 分析: A:需求的类和接口 1.用户类 UserBean 2.用户操作方法接口和实现类 UserDao UserDaoImpl 3.测试类 UserTe ...

  7. 【JAVA SE】第十四章 集合框架、语法糖和泛型

    第十四章 集合框架.语法糖和泛型 文章目录 第十四章 集合框架.语法糖和泛型 一.集合框架 1.概念 2.接口 二.语法糖 1.概念 2.解语法糖 三.泛型 1.概念 2.泛型类 3.泛型接口 4.泛 ...

  8. Java开发笔记(四)之集合框架List与Set

    java笔记目录 1.集合概述 2 Collection 接口 & List 接口 实例 2.1 List 的增删改查功能 2.2 泛型![在这里插入图片描述](https://img-blo ...

  9. java面试题之简单介绍一下集合框架

    集合框架分为三块:List列表.Set集合.Map映射 List列表在数据结构上可以被看做线性表,常用的有ArrayList和LinkList(不常用的有Vector(类似于ArrayList)),他 ...

最新文章

  1. python判断点在矩形内_Python测试点是否在矩形中
  2. 山东管理学院计算机专业在哪个校区,2019年山东管理学院新生在哪个校区及新生开学报到时间...
  3. 浏览器安全检查己通过_小米薄荷浏览器URl欺骗漏洞(CVE-2019-10875)的安全修复被绕过...
  4. Java 设计模式之 Observer 模式
  5. 模因(meme)收集
  6. python贪吃蛇源码下载_Python贪吃蛇源代码
  7. 图像加密算法毕业论文【含代码】
  8. php 0 加减乘除,php 加减乘除计算器 用php简单实现加减乘除计算器
  9. 累加器A用c语言,在c语言数组累加器的使用
  10. solidworks3D打印技术
  11. 马斯克为什么这么厉害?底层有一套强大的思维方式!
  12. c语言水仙花数256,c语言学习:求水仙花数
  13. 相机CCD尺寸的大小详细列表
  14. Win11应用程序启动提示配置不正确解决方法
  15. Xshell 5 解除强制更新方法汇总(文内含密钥与下载链接)
  16. 计算机基础知识整理 手抄报,第三课时《电脑小报的组成及设计》
  17. 八维计算机学校死人,八维计算机学校教您使用联想一键恢复
  18. python创意项目设计方案-基于MicroPython软件相结合的无线设计方案
  19. 边缘计算那些事儿--网络切片技术(2)
  20. java计算机毕业设计优课网设计与实现源码+数据库+系统+lw文档+部署

热门文章

  1. IDEA常用快捷键大全
  2. R语言基础入门(9)之因子类型
  3. java线程池执行器_Java线程池ThreadPoolExecutor的使用
  4. latex的基本使用
  5. linux下php支持mysql_linux下php扩展mysqli的支持 .
  6. 数据结构排序1-冒泡,选择,插入排序
  7. 两个html之间传递对象,解决微信警告:该链接含有无法解析的地址链接-两个html之间的传值(JSON数据)...
  8. 跟我一起读postgresql源码(十六)——Executor(查询执行模块之——control节点(下))
  9. 用Backbone.js创建一个联系人管理系统(四)
  10. 转:flex [Inspectable]标签详解