一、什么是集合框架
1)集合框架:为表示和操作集合而规定的一种统一的、标准的体系结构
2)任何集合框架都包含三大块内容:对外的接口、接口的实现、对集合运算的算法
2.1)接口:即表示集合的抽象数据类型。接口提供了让我们对集合中所表示的内容进行单独操作的可能
2.2)实现:集合框架中接口的具体实现。实际他们就是那些可服用的数据结构
2.3)算法:在一个实现了某个集合框架中的接口的对象上,完成某种有用的计算的方法,例如查找、排序等
3)集合框架对编程的好处
3.1)提高程序设计效率
3.2)提高程序速度和质量。集合框架通过提供对有用的数据结构和算法的高性能和高质量的实现使你的程序速度和质量得到提高
3.3)集合框架鼓励软件的复用。对于遵照标准集合框架接口的新的数据结构是可复用的
二、java集合框架包含的内容
1)Collection接口存储一组不唯一,无序的对象
2)List接口存储一组不唯一,有序(插入顺序)的对象
3)Set接口存储一组唯一,无序的对象
4)Map接口存储一组键值对象,提供key到value的映射
5)ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高
6)LinkedList采用链表存储方式。插入、删除元素时效率比较高
7)Map接口常用方法
三、集合类的对比
1)Vector和ArrayList的异同
1.1)实现原理相同,功能相同,很多情况下可以互用
1.2)主要区别:Vector线程安全,ArrayList重速度轻安全,线程非安全;长度需增长时,Vector默认增长一倍,ArrayList增长50%
2)Hashtable和HashMap的异同
2.1)实现原理相同,功能相同,很多情况下可以互用
2.2)主要区别:
2.2.1)Hashtable继承Dictionary类,HashMap实现Map接口
2.2.2)Hashtable线程安全,HashMap线程非安全
2.2.3)Hashtable不允许null值,HashMap允许null值