集合:
集合是java中提供的一种容器,可 以用来存储多个数据。那么它和数组有什么不同呢?。
1.数组的长度是固定的,集合的长度是可变 的。
2.数组中存储的是同一类型的元素,可以存 储基本数据类型值。集合存储的都是对 象,而且对象的类型可以不一致。
所有的集会框架都包含如下内容
接口:是代表集合的抽象数据类型,例如: Collection息、List、Set、Map等。之所以定 义多个接口,是为了以不同的方式操作集合对,
实现(类):是集合接口的具体实现,从本质上 讲,它们是可重复使用的数据结构,例如 ArayList,LinkedList,HashSet,HashMap.
算法;是实现集合接口的对象里的方法执行的 一些有用的计算,例如搜索和排序,这些算法 被称为多态,呢是因为相同的方法可以在相似 的接口上有着不同的实现在上图中,实线边框的是实现类,虑线边框的 是抽象类,点线边框的是接口。加粗的是比较 常用的实现类.
泛型:
就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参), 然后在使用/调用时传入具体的类型(类型实参)。 泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。也就是说在泛型使用过程中, 操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口。
使用泛型的好处:
1.
将运行时期的异常转到编译时期 避免了强制类型转换的麻烦。定义和使用含有泛型的类定义格式:修饰符class类名<代表泛型的变量>{}
2.
避免了在运行时出现 ClassCastException,因为你将会在编译时得到报错信息。
3.
泛型也使得代码整洁,我们不需要使用显式转换和 instanceOf 操作符。
4
它也给运行时带来好处,因为不会产生类型检查的字节码指令。