标签:pack streams tps oar function als api class ext
package java.util;
import java.util.function.Predicate;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;
public interface Collection<E> extends Iterable<E> {
// 查询操作
/**
* @return 此集合中的元素数
*/
int size();
/**
* 判断集合是否为空
*/
boolean isEmpty();
/**
* 判断此集合包含指定的元素。
*/
boolean contains(Object o);
/**
*
*/
Iterator<E> iterator();
/**
* 返回包含此集合中所有元素的数组
*/
Object[] toArray();
/**
*返回包含此集合中所有元素的数组
*/
<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);
/**
* 安全移除
* @since 1.8
*/
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;
}
/**
* 取交集方法retainAll
*有两个集合newCoures和oldCourses,判断这两个集合是否包含相同的对象或元素
*/
boolean retainAll(Collection<?> c);
/**
* 移除所有元素,使集合为空
*/
void clear();
// 比较和求哈希
/**
* 将指定对象与此集合进行比较以实现相等性。
*/
boolean equals(Object o);
/**
*求集合的hashCode
*/
int hashCode();
/**
*并行遍历
*
* @return a {@code Spliterator} over the elements in this collection
* @since 1.8
*/
@Override
default Spliterator<E> spliterator() {
return Spliterators.spliterator(this, 0);
}
/**
* https://www.ibm.com/developerworks/cn/java/j-lo-java8streamapi/index.html
* @since 1.8
*/
default Stream<E> stream() {
return StreamSupport.stream(spliterator(), false);
}
/**
* https://www.ibm.com/developerworks/cn/java/j-lo-java8streamapi/index.html
* @since 1.8
*/
default Stream<E> parallelStream() {
return StreamSupport.stream(spliterator(), true);
}
}
public interface Collection<E> extends Iterable<E>
标签:pack streams tps oar function als api class ext
原文地址:https://www.cnblogs.com/mayZhou/p/8809418.html