关于容器(Collection)
1.什么是容器
容器,是用来容纳物体、管理物体。生活中,我们会用到各种各样的容器。如锅碗瓢盆、 箱子和包等。程序中的“容器”也有类似的功能,用来容纳和管理数据。
2.容器的结构
单例集合的话值的是单个值 双例集合指的是Key - Value
Collection接口继承了Iterator接口,实现了Iterator()方法,返回一个迭代器对象(先写这了)
这个是接口继承和实现类的关系,可以看出单例容器其实是大同小异,同因为都是从Collection接口继承过来,所以该接口中的方法实现类都会实现,异是在继承的时候以及实现的时候自定义了别的方法。
3.Collection中的抽象方法
方法 | 说明 |
---|---|
boolean add(Object element)
|
增加元素到容器中
|
boolean remove(Object element)
|
从容器中删除元素 |
boolean contains(Object element)
|
判断是否包含元素element |
int size()
|
容器中元素的数量 |
boolean isEmpty()
|
判断容器是否为空 |
void clear()
|
清空容器 |
Iterator iterator()
|
获取迭代器对象 |
boolean containsAll(Collection c)
|
判断本容器是否包含容器c中所有元素 |
boolean addAll(Collection c)
|
把容器c中的所有元素添加到本容器(可重复) |
boolean removeAll(Collection c)
|
移除本容器中和容器c都包含的元素 |
boolean retainAll(Collection c)
|
取本容器和容器 c 中都包含的元素,移除非交集元素
|
Object[] toArray()
|
转化成Object数组 |
JDK8 之后,Collection 接口新增的方法
方法 | 说明 |
---|---|
removeIf |
作用是删除容器中所有满足 filter 指定条件的元素
|
stream
parallelStream
|
stream和parallelStream 分别返回该容器的Stream视图
表示,不同之处在于 parallelStream()返回并行的 Stream,
Stream 是 Java 函数式编程的核心类。
|
spliterator
|
可分割的迭代器,不同以往的 iterator 需要顺序迭代, Spliterator 可以分割为若干个小的迭代器进行并行操作, 可以实现多线程操作提高效率 |
4.List接口