1.集合实际上就是一个容器,用来容纳其他类型的数据
2.集合不能直接存储基本数据类型,另外集合也不能直接存储java对象,集合中存储的都是java对象的内存地址,或者说集合中存储的是引用对象
3.集合有两种存储方式:
(1),单个存储方式,其超级父接口为 Collection
(2),以键值对的方式存储,其超级父接口为 Map
所有集合继承 Iterable,含义:所有集合都是可迭代的
4.集合的简略关系图:
其中 底层采用了数组数据结构的是:ArrayList(非线程安全的);Vector(线程安全的);底层采用了哈希表数据结构的是:HashSet;HashMap;而LinkedList底层则采用了双向链表数据结构;TreeMap则是二叉树数据结构
5.特点:
(1)Set集合:无序不可重复,元素没有下标
(2)List集合:有序可重复,元素有下标
(3)Map集合:key无序不可重复,key以及value都是存储java对象的内存地址
6.迭代器:Iterator,集合特有,用于遍历集合中的元素;方法:hasNext(),判断是否有元素,返回 true 或者 flase。
7.集合中同时也运用到了泛型
特点:只在程序编译阶段起作用
好处:集合中存储的元素类型统一了,从集合中取出的元素类型是泛型指定的类型,因此不需要大量的向下转型
缺点:导致集合中存储的元素缺乏多样性