jdk-Collection接口
Collection<E>
类结构
继承接口
- Iterable<E>
实现
接口概述
- 集合框架的根接口
- 部分集合允许重复元素,部分集合有序
- JDK不提供此接口直接实现,实现类通过实现Collection的子接口间接实现
- 实现类应提供两个构造函数:无参构造和具有单个Collection类型参数的构造
- 实现类不支持的操作会抛出UnsupportedOperationException
- 实现类可能对包含的元素有限制(null限制或者类型限制等)
- 实现类决定同步策略
- 很多方法都是基于equals()方法定义的
- 执行递归遍历的操作可能会失败
接口方法
int size()
boolean isEmpty()
boolean contains(Object o)
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)
default boolean removeIf(Predicate<? super E> filter)
boolean retainAll(Collection<?> c)
void clear()
默认方法
default Stream<E> stream()
default Stream<E> parallelStream()
继承的
Iterator<E> iterator()
boolean equals(Object o)
int hashCode()
default Spliterator<E> spliterator()
AbstractCollection
Collection接口的抽象实现类
两个抽象方法,其余实现都是间接通过调用这两个方法实现
public abstract Iterator<E> iterator()
public abstract int size()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律