持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第24天,[点击查看活动详情]
集合
如果程序中出现多个变量的情况下,可以用数组解决。
如果程序中出现多个对象的情况下,也可以用数组去解决。
数组可以装基本数据类型,也可以装引用数据类型,称为对象数组。
集合和数组都是容器,数组的长度是固定的,集合的长度是可变的。数组中存储的是同一类型的数据,集合中存储的都是对象(引用类型),集合中存储基本数据类型也是进行自动装箱操作的。数组没有相应的增删查改操作,集合自带增删查改操作。
数组是集合的一部分。
JDK1.2之后由于需求,产生集合类,将集合类进行共性抽取。
集合体系的最终父类是Collection.
Collection
层次结构中的根接口。
表示一组对象,这些对象也称为Collection的元素.
一些Collection允许有重复的元素,而有些不允许。
一些Collection是有序,有些是无序的。
不同的需求,不同的集合类就由不同的存储结构实现。
List
Collection下的子接口。有序的,提供脚标访问,允许重复元素。
Queue
Collection下的子接口。队列,栈,优先队列。
Set
Collection下的子接口。不包含重复元素。不提供角标访问。
建议
1,虽然集合可以存储多个不同类型的对象,但为了方便后续统一管理,建议集合中存储相同类型的数据。
2,虽然存储的是对象,但添加元素时,我们可以明显的去写一个基本数据类型的常量。(自动装箱)\
Collection
创建 Collection:
Collection c1=new ArrayList(); :是泛型,指的就是未知的数据类型,由调用者来决定E的具体类型。
boolean addAll(Collection c) addAll:在当前集合中添加传入集合中的所有元素。\
void clear():清空当前集合\
boolean contains (Object o):判断集合当中是否包含元素o;\
boolean containsAll(collection c):判断集合当中是否包含另一个集合c中所有元素
boolean equals(Object o):比较俩个集合是否相等,主要比的是集合当中的元素。
int hashCode():将一个集合当成一个对象元素看待,hashCode指的就是该对象在哈希表中的角标。
boolean isEmpty():判断当前集合是否为空。 \