Java集合框架的由来:
其实在Java2(jdk1.2)之前,Java是没有完整的集合框架的。它只有一些简单的可以自扩展的容器类,比如Vector,Stack,Hashtable等。
为什么存在容器类: 容器类(集合类)可以存储多个数据,既然数组可以存储多个数据,为什么需要定义容器类.
数组的弊端:
1):长度是不可变的,一旦数组初始化之后,长度是固定的.
2):在N个地方需要存储多个数据,都得专门去编写数组的操作方法,如此以来,没有体现DRY原则.
代码和功能重复——–>封装思想.
3):即使每一个人都要使用到数组类,但是不同的人定义的类名和方法名是不同的,实现细节也是参差不齐的.
SUN公司就自己定义好了容器类,每一个开发者只管调用即可.

在集合框架这个章节: 拿来主义.

什么是集合框架:

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

为什么需要集合框架(把集合框架的类和接口都存放在java.util包中):
1):提供功能的复用(java.util包).

2):让程序猿专注于业务开发,而不是数据结构和算法.

常用的框架接口规范:
集合中存储的对象,称之为集合元素.
常用的集合类:
Set(集):集合中的对象不按特定方式排序,不允许元素重复.
List(列表):集合中的对象按照索引位置排序,允许元素重复.
Map(映射):集合中每一个元素都包含一对key和value对象.不允许key对象重复,值对象可以重复.

Java集合框架-概述相关推荐

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

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

  2. Java集合框架——概述

    集合概述 集合(collection)--有时也被称作容器, 用来把具有相同性质的一类东西,汇聚成一个整体.Collections被广泛应用于存储,获取及操作数据. 集合框架 集合框架(Collect ...

  3. Java集合框架概述(四)——Map体系集合与底层实现原理

    一.Map父接口 1.概要 方法 描述 public interface Map<K,V> 将键映射到值的对象. 一个映射不能包含重复的键; 每个键可以映射到最多一个值.  将键映射到值的 ...

  4. java 集合框架(一)

    Java 集合框架概述 Java集合的概念 Java集合类:是一个工具类,就像容器,存储任意数量的具有共同属性的对象. Java集合的作用 1.在类的内部,对数据进行组织: 2.简单而快速的搜索大数量 ...

  5. Java集合框架:HashMap

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  6. 第十五期:详解Java集合框架,让你全面掌握!

    一.Java集合框架概述 集合可以看作是一种容器,用来存储对象信息.所有集合类都位于java.util包下,但支持多线程的集合类位于java.util.concurrent包下. 数组与集合的区别如下 ...

  7. Java 集合框架 详解

    一.Java 集合框架概述 集合框架是一个用来代表和操纵集合的统一架构(java集合框架位于java.util包中).所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.例如 Collec ...

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

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

  9. JAVA基础---集合(一)--集合框架概述

    为什么用集合如何合理用集合,以及如何实现的和他们的实现原理,如果搞清了对于之后学习其他知识和开发是很有大帮助性的. 什么是集合框架? 集合框架是表示和操作集合的统一体系结构.所有集合框架都包含以下内容 ...

最新文章

  1. 参加UI设计培训如何高效学习
  2. 华为服务器面板显示,服务器面板怎么查看
  3. vi命令,印在杯子上,还是印在脑子里。
  4. nginx配置反向代理解决前后端分离跨域问题
  5. RedHat 脚本搭建dns服务!
  6. 如何在报表中实现算法的可挂接需求
  7. 初学者指南:什么是算法?11行伪代码给你讲明白
  8. 桌面重置,所有的东西都消失了怎么办?
  9. 【计算几何】bzoj2338 [HNOI2011]数矩形
  10. cout 格式化输出
  11. highcharts 使用实例
  12. Android基础学习一(整理,从零开始)
  13. ipv6电视直播Android,关于高校电视直播(ipv4ipv6)
  14. Minecraft 1.19.2 Forge模组开发 01.Idea开发环境配置
  15. 开源至上:面试官轮轮虐你?深入剖析
  16. 朱老师ARM裸机学习笔记(四):S5PV210启动过程详解
  17. html5 history微信浏览器返回不刷新
  18. VMware安装虚拟机
  19. 蚂蚁森林师生执念种上万棵树
  20. 【大话数据结构C语言】38 图的存储结构(邻接矩阵)

热门文章

  1. 现代软件工程 作业 2 结对项目
  2. 中大型计算机代表型号,目前个人计算机主要机型.doc
  3. python读取命令行输入-python获取命令行输入参数列表
  4. python in memory_使用 in_memory 工作空间的注意事项
  5. 一个控制器怎么转发到另外一个控制器_楼宇自动化系统(BAS),DDC,一个最核心的控制器...
  6. 12v小型电机型号大全_电机型号参数大全
  7. 为什么码农要了解业务呢?网友:不是敲代码就好了吗?
  8. 【LeetCode笔记】剑指 Offer 13-. 机器人的运动范围 (Java、dfs)
  9. 加载中图片 转圈_对话洛可可平面设计师:平面设计中的效率瓶颈
  10. mysql语言和php语言_MySQL如何与PHP编程语言一起使用?