Collection是单例集合高度抽象的顶级接口,其中定义了列单列集合的基本操作,它的子类都直接或间接实现了无参构造或参数为Collection的带参构造,带参Collection构造用来转换Collection的类型。
Collection继承于Iterable接口,Iterable中提供了三中迭代方式:
方法定义/实现 | 描述 |
---|---|
Iterator iterator() | 队列迭代器 |
default void forEach(Consumer<? super T> action) | 流式迭代 |
default Spliterator spliterator() | 分隔迭代器 |
Collection中定义供子类实现的方法:
方法定义 | 描述 |
---|---|
boolean add(E e) | 添加一个元素 |
boolean addAll(Collection<? extends E> c) | 添加传入集合中的元素 |
boolean remove(Object o) | 删除一个元素 |
boolean removeAll(Collection<?> c) | 删除传入集合中的元素 |
default boolean removeIf(Predicate<? super E> filter) | 删除符合规则的元素 |
boolean retainAll(Collection<?> c) | 删除所有未在传入集合中的元素(交集) |
void clear() | 清空集合 |
boolean contains(Object o) | 判断某元素是否在集合中 |
boolean containsAll(Collection<?>) | 判断传入集合中的所有元素是否在集合中 |
Iterator iterator() | 获取集合迭代器 |
default Spliterator spliterator() | 获取可分隔迭代器 |
int size() | 获取集合元素个数 |
default Stream stream() | 获取集合流 |
default Stream parallelStream() | 获取集合并发流 |
Collection接口中定义的主要方法:
- 添加元素
- 删除元素
- 是否包含
- 获取迭代器
- 获取流对象
Collection主要有两大接口,List和Set,其次还有Queue。
接口 | 描述 |
---|---|
List | 列表 |
Set | 集合(同数学意义) |
Queue | 队列 |