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对象重复,值对象可以重复.