1、什么是集合?
定义:对于面向对象语言,如果我们要针对多个对象进行操作,就必须对多个对象进行存储。 数组可以对多个元素进行存储,但是数组的弊端是长度固定。这样,数组将不能满足长度变化的要求。所以,就出现了集合供我们使用。
特点:长度可以发生改变、只能存储对象、可以存储多种类型对象(但是只存储一种)。2、集合和数组的区别?
(1)长度:集合长度可变;数组长度固定。
(2)存储元素:数组可以存储基本类型,也可以存储引用类型;集合只能存储引用类型。
(3)存储对象类型:数组只能存储一种类型;集合可以存储不同类型。
3、集合体系?
集合是存储多个元素的容器,但是,由于数据结构的不同,就有了多种集合类。而这多种集合类有共性的功能,所以,通过不断的向上抽取,最终形成了集合的体系结构。集合体系结构如下:
最顶层为collection,下有两大分支,List 和 Set ,二者最大的差别是List 是有序的,可以允许重复值出现;而Set是无序的,不允许重复值出现。
collection作为最顶层,定义了集合中共性的功能,其中基本功能有:
<span style="font-family:Arial Black;font-size:14px;"> * A:添加功能
* boolean add(Object obj):向集合中添加一个元素
* boolean addAll(Collection c):向集合中添加一个集合的元素。
*
* B:删除功能
* void clear():删除集合中的所有元素。
* boolean remove(Object obj):从集合中删除指定的元素
* boolean removeAll(Collection c):从集合中删除一个指定的集合元素。
*
* C:判断功能
* boolean isEmpty():判断集合是否为空。
* boolean contains(Object obj):判断集合中是否存在指定的元素。
* boolean containsAll(Collection c):判断集合中是否存在指定的一个集合中的元素。
*
* D:遍历功能
* Iterator iterator():就是用来获取集合中每一个元素。
*
* E:长度功能
* int size():获取集合中的元素个数
*
* F:交集功能
* boolean retainAll(Collection c):判断两个集合中是否有相同的元素。???
*
* G:把集合转换成数组
* Object[] toArray():把集合变成数组。 </span>
小结:集合是数组的延伸,但是又有所不同,首先,集合长度可变,只能存储对象,而且可以存储单一类型对象,也允许存储多种类型的对象,还有它严密的结构体系。