1.集合弥补了数组的缺陷,他比数组更灵活实用,大大提高软件的开发效率。
2.java集合框架提供了接口和类,它们都位于java.util包中;java集合框架包含的主要内容
及彼此之间的关系如下图所示:
a.其中,Collection,Map,List,Set是接口,其他为实现类
b.最常用的实现类有:ArrayList,LinkedList,HashMap,HashSet;
c.集合框架包含3大块内容:对外的接口,接口的实现,对集合运算的算法;
d.java提供了进行集合操作的工具类Collections(注意不是Collection,类似于Arrays类),
它提供了对集合进行排序等多种算法实现
e.通常说java集合框架中包含3大类接口:List,Set,Map;
3. 4个接口的区别:
a.Collection接口存储一组不唯一(允许重复),无序的对象;
b.Set接口继承Collection接口,存储一组唯一(不允许重复),无序的对象;
c.List接口继承Collection接口,存储一组不唯一(允许重复),有序(以元素插入的次序来放置元素,不会重新排列)的对象;
d.Map接口存储一组成对的键-值对象,提供key(键)到Value(值)的映射。Map中的key不要求有序,不允许重复,value同样不要求有序,但允许重复;
e.lterator接口是负责定义访问和遍历元素的接口;
**********有序:指的是以元素插入的次序来放置元素,不会重新排列
4.形象化理解List,Set接口:
List:可以看作数组,元素内容可以重复并且有序
Set:数学中的集合,里面数据不重复,并且无序
5.相对于集合,数组的缺点:
a.数组长度固定不变,通过数组名.length获取数组长度,却无法获取数组中真实存储的狗狗个数,数组采取在内存中分配连续空间的存储方式,查找指定元素效率低下,需要进行比较,在频繁插入,删除操作时同样效率低下