javaSE 集合(一)

一、什么是集合?

1、Math:很难给集合下一个非常精确的定义,通常情况下把具有相同性质的一类事物汇聚成一个整体,可称之为集合。

2、Java:将若干用途,性质相同或相近的“数据”组合而成一个整体,称作集合(又叫容器)。此处的数据指的是对象集合中只能存放对象(实际是对象的引用),不能存放基本数据类型。

3、数学上可以将集合类型归纳为三种

a、set(集)

set集合中的元素不区分顺序,不允许重复

b、list(列表)

List集合中的元素区分顺序且不允许重复

c、map(映射)

映射中保存成对的“键-值”(key-alue)信息,映射中不能包含重复的键,每个键最多只能映射一个值。

Java中定义了三个接口来对应数学上的三种集合类型Set、List、Map


二、为什么要引入集合

1、数组存在两个缺陷

a、数组的长度固定,一旦数组内存已经分配,再想改变数组,效率将会异常的底下

b、数组中数据类型必须一致


三、什么是集合框架

框架是一个类的集,他奠定了创建高级功能的基础。框架包含很多超类,这些超类拥有非常有用的功能,策略和机制。框架使用者创建的子类可以扩展超类的功能,而不必重新创建这些基本的机制。
集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。
接口:即表示集合的 抽象数据类型。接口提供了让我们对集合中所表示的内容进行单独操作的可能。
实现:也就是集合框架中接口的具体实现。实际它们就是那些可复用的 数据结构
算法:在一个实现了某个集合框架中的接口的对象身上完成某种有用的计算的方法,例如查找、排序等。这些算法通常是 多态的,因为相同的方法可以在同一个接口被多个类实现时有不同的表现
Java集合框架的类图表示

集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。
抽象类:5个抽象类(长虚线表示),对集合接口的部分实现。可扩展为自定义集合类。
实现类:8个实现类(实线表示),对接口的具体实现。
在很大程度上,一旦您理解了接口,您就理解了框架。虽然您总要创建接口特定的实现,但访问实际集合的方法应该限制在接口方法的使用上;因此,允许您更改基本的数据结构而不必改变其它代码

实现 Collection 接口容器中的元素是一组允许重复的对象。

Set接口继承Collection实现Set 接口的容器中的对象不允许重复,使用自己内部的一个排列机制。

· List 接口继承 Collection,实现List接口的容器中的对象允许重复,以元素安插的次序来放置元素,不会重新排列。
·Map接口是一组成对的键-值对象,即所持有的是key-value pairs。实现Map接口的容器中的对象不能有重复的key。拥有自己的内部排列机制。
·   容器中的元素类型都为Object。从容器取得元素时,必须把它转换成原来的类型。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值