集合的基本概览
集合类和数组相比有许多不同之处,比如,数组的长度是不可变的,而集合的长度是可变的,并且集合只能存储引用数据类型的数据,不能存放基本数据类型的数据
Java中的集合类主要有两个接口派生,即Collection和Map。其中,Collection接口派生出了List集合和Set集合,各个接口还提供了不同的实现类:
Collection接口
java.util.Collection是集合类的基本接口,它位于集合类的顶层,接口定义如下:
public interface Collection<E> extends Iterable<E>
Collection接口的方法定义:
- add(E o) 向集合插入元素
- addAll(Collection<? extends E c) 向集合中添加一个集合
- clear() 清除集合中的所有元素
- contains(Object o) 判断集合中是否存在指定的元素,存在,返回true
- containsAll(Collection<? extends E> c) 判断集合中是否存在指定的集合,存在,返回true
- equals(Object o) 判断两个集合是否相等
- hashCode() 返回此collection的哈希码值
- isEmpty() 判断此集合是否为空 若为空,返回true
- iterator() 为Iterator接口的实例化,用于遍历集合中的元素
- remove(Object o) 从集合中删除指定元素
- remove(Collection<?> c) 从集合中删除指定集合
- retainAll(Collection<?> c) 保存集合中所有在集合c中出现的元素
- size() 返回此集合中元素的个数
- toArray() 返回包含此元素中所有元素的对象数组
- toArray(T[] a) 返回包含此元素中所有元素的对象数组,并可以指定返回的数组类型
所有实现Collection接口的类都必须提供两个标准的构造方法:
- 无参构造方法,用于创建一个空的Collection
- 一个带有Collection参数的构造方法,用于创建一个新的Collection,而这个新的Collection与传入的Collection具有相同的元素,该构造方法允许用户复制一个Collection