一、Collection接口
Collection接口是Java集合接口的父类,这些被List、Map、Set、Queue继承,这里面定义了静态方法。下面我将从源码角度介绍Collection接口类定义的静态方法。
二、方法
首先,定义Collection接口是继承与迭代的
public interface Collection<E> extends Iterable<E> {
}
定义了静态方法大小
int size();
定义了静态方法是否为空
boolean isEmpty();
定义了静态方法是否为空
boolean contains(Object o);
定义了迭代器的方法
Iterator<E> iterator();
定义了静态方法对象转化为数组
Object[] toArray();
定义静态方法泛型T转换为数组
<T> T[] toArray(T[] a);
定义了静态方法追加元素
boolean add(E e);
定义了移除元素的静态方法
boolean remove(Object o);
定义了静态方法是否被完全包含
boolean containsAll(Collection<?> c);
定义了全部添加的静态方法
boolean addAll(Collection<? extends E> c);
定义全部移除的静态方法
boolean removeAll(Collection<?> c);
定义了是否能移除的方法
default boolean removeIf(Predicate<? super E> filter) {
Objects.requireNonNull(filter);
boolean removed = false;
final Iterator<E> each = iterator();
while (each.hasNext()) {
if (filter.test(each.next())) {
each.remove();
removed = true;
}
}
return removed;
}
定义了是否保持的静态方法
boolean retainAll(Collection<?> c);
定义了清空的静态方法
void clear();
定义是否相等的静态方法
boolean equals(Object o);
定义了获取哈希代码的静态方法
int hashCode();
定义了分离器的方法
default Spliterator<E> spliterator() {
return Spliterators.spliterator(this, 0);
}
定义了流方法包括输入流和输出流
default Stream<E> stream() {
return StreamSupport.stream(spliterator(), false);
}
定义了并行流的静态方法
default Stream<E> parallelStream() {
return StreamSupport.stream(spliterator(), true);
}