Collection 接口
一个Collection(集合)表示一组称为其元素的对象。Collection接口用来传递需要最大通用性的对象集合。例如,按约定,所有集合实现都有一个接收Collection的构造函数,称为转换构造函数,因此可以转换集合的类型。
例如,有一个 Collection<String> c,可能是List或Set,创建一个ArrayList:
Collection接口的基本方法
Collection接口操作整个集合的方法
Collection接口的数组方法
JDK 8 及其之后, Collection接口暴露了 Stream<E> stream() 和 Stream<E> parallelStream()方法,用于从基础集合获取顺序流或并行流。(参考 聚合操作 )
三种方式:聚合操作,for-each,Iterator
JDK 8 及之后,推荐获取流执行聚合的方式遍历集合。
如果集合足够大且电脑核心数足够,可以使用并行流:
多种方式收集数据:
Iteratos接口,remove方法只能每次调用next后调用一次,否则会报错。
Iterator.remove是在迭代期间,唯一安全的删除元素的方法。
使用Iterator而不是for-eahc的情况:
大多情况下这些操作的效率较低。
例如,从Collection c中删除所有 e:
删除所有null:
Collections.singleton,一个静态方法,返回包含指定元素的不可变Set。
toArray作为集合和旧api之间的桥梁,旧api希望在输入时使用数组。
将Collection转为与之长度一致的数组。
无参数时,返回一个Object数组
如果是Collection<String>