Java集合系列
Collection
引出
- 变量:只能存储一个数据,是最小的存储数据的容器。
- 数组:长度固定,内容可变 ,可以存储多个数据类型一致的数据。
- 集合:可以存储任意种类数据且长度可变。
Java中包含了整个集合体系,有非常多的集合类,可以实现不同的功能;Collection是顶级接口,定义在java.util
中,其下有:
List子接口
- ArrayList 实现类(下同)
- LinkedList
- Vector
- Stack 栈
Queue 子接口
- LinkedList
Set 子接口
- HashSet
- TreeSet ⭐
常用方法
boolean add(Object obj)
添加指定对象,并确保此 collection 包含指定的元素(可选操作)。
boolean addAll(Collection<? extends E> c)
将指定 collection 中的所有元素都添加到此 collection 中(可选操作)。
void clear()
移除此 collection 中的所有元素(可选操作)。
boolean contains(Object o)
如果此 collection 包含指定的元素,则返回 true 。:star:
boolean containsAll(Collection<?> c)
如果此 collection 包含指定 collection 中的所有元素,则返回 true ⭐
boolean equals(Object o)
比较此 collection 与指定对象是否相等(根据集合中元素的顺序一一比较)
boolean isEmpty()
如果此 collection 不包含元素,则返回 true。
boolean remove(Object o)
从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。
默认移除集合中找到的第一个元素。
boolean removeAll(Collection<?> c)
移除此 collection 中那些也包含在指定 collection 中的所有元素(可选操作)。
boolean retainAll(Collection<?> c)
仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。
int size()
返回此 collection 中的元素数
Object[] toArray()
返回包含此 collection 中所有元素的数组
❔ 集合和数组的区别
- 数组一旦创建长度固定不能发生变化,集合长度可变。
- 数组中只能存储同一数据类型的元素,集合可以存储不同数据类型的元素。
- 数组可以存储基本数据类型的元素和引用数据类型的元素,而集合只能存储引用数据类型的元素。
- 集合可以通过add等方法直接添加基本数据类型值,是因为JDK1.5开始提供了自动装箱和自动拆箱的功能;其实底层对应的都是基本数据类型的包装类。