java的核心类库_Java核心类库,集合框架
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核心类库,集合框架相关推荐
- Educoder–Java高级特性(第二章)- 集合框架【笔记+参考代码】
Educoder–Java高级特性(第二章)- 集合框架[笔记+参考代码] 第一关 编程要求 请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,创建ArrayList集 ...
- java中的集合框架_JAVA中的集合框架(上)List
第一节 JAVA中的集合框架概述 集合的概念,现实生活中:很多事物凑在一起就是一个集合:数学中的集合:具有相同属性事物的总体:JAVA中的集合:是一种工具类,就像是容器,储存任意数量的具有共同属性的对 ...
- java map清除值为null的元素_Java中的集合框架大总结
直接上图: 从上面的集合框架图可以看到:Java集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合:另一种是图(Map),存储键/值对映射.Collection接口又 ...
- java list 差集_Java基础之集合框架
Java 集合框架概述 一方面, 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储.另一方面,使用Array存储对象方面具有一些弊端,而Java 集合就像一种容器 ...
- java集合框架中抽象有序列表的接口是_JAVA基础接口集合框架
接口 -------------------------------------------------------------------------------- 一.接口(是一种规范) 1.接口 ...
- java实现用户登录注册功能(用集合框架来实现)
需求:实现用户登录注册功能(用集合框架来实现) 分析: A:需求的类和接口 1.用户类 UserBean 2.用户操作方法接口和实现类 UserDao UserDaoImpl 3.测试类 UserTe ...
- 【JAVA SE】第十四章 集合框架、语法糖和泛型
第十四章 集合框架.语法糖和泛型 文章目录 第十四章 集合框架.语法糖和泛型 一.集合框架 1.概念 2.接口 二.语法糖 1.概念 2.解语法糖 三.泛型 1.概念 2.泛型类 3.泛型接口 4.泛 ...
- Java开发笔记(四)之集合框架List与Set
java笔记目录 1.集合概述 2 Collection 接口 & List 接口 实例 2.1 List 的增删改查功能 2.2 泛型![在这里插入图片描述](https://img-blo ...
- java面试题之简单介绍一下集合框架
集合框架分为三块:List列表.Set集合.Map映射 List列表在数据结构上可以被看做线性表,常用的有ArrayList和LinkList(不常用的有Vector(类似于ArrayList)),他 ...
最新文章
- python判断点在矩形内_Python测试点是否在矩形中
- 山东管理学院计算机专业在哪个校区,2019年山东管理学院新生在哪个校区及新生开学报到时间...
- 浏览器安全检查己通过_小米薄荷浏览器URl欺骗漏洞(CVE-2019-10875)的安全修复被绕过...
- Java 设计模式之 Observer 模式
- 模因(meme)收集
- python贪吃蛇源码下载_Python贪吃蛇源代码
- 图像加密算法毕业论文【含代码】
- php 0 加减乘除,php 加减乘除计算器 用php简单实现加减乘除计算器
- 累加器A用c语言,在c语言数组累加器的使用
- solidworks3D打印技术
- 马斯克为什么这么厉害?底层有一套强大的思维方式!
- c语言水仙花数256,c语言学习:求水仙花数
- 相机CCD尺寸的大小详细列表
- Win11应用程序启动提示配置不正确解决方法
- Xshell 5 解除强制更新方法汇总(文内含密钥与下载链接)
- 计算机基础知识整理 手抄报,第三课时《电脑小报的组成及设计》
- 八维计算机学校死人,八维计算机学校教您使用联想一键恢复
- python创意项目设计方案-基于MicroPython软件相结合的无线设计方案
- 边缘计算那些事儿--网络切片技术(2)
- java计算机毕业设计优课网设计与实现源码+数据库+系统+lw文档+部署
热门文章
- IDEA常用快捷键大全
- R语言基础入门(9)之因子类型
- java线程池执行器_Java线程池ThreadPoolExecutor的使用
- latex的基本使用
- linux下php支持mysql_linux下php扩展mysqli的支持 .
- 数据结构排序1-冒泡,选择,插入排序
- 两个html之间传递对象,解决微信警告:该链接含有无法解析的地址链接-两个html之间的传值(JSON数据)...
- 跟我一起读postgresql源码(十六)——Executor(查询执行模块之——control节点(下))
- 用Backbone.js创建一个联系人管理系统(四)
- 转:flex [Inspectable]标签详解