第1部分 …介绍
1.1 …简介
1
2
1.2 …构造函数
修饰语和返回类型 | 方法 | 描述 |
---|---|---|
Iterator<T> | iterator() | 返回类型为T的迭代器 |
default Spliterator<T> | spliterator() | 创建返回类型为T的可分割迭代器 |
default void | forEach(Consumer<? super T> action) | 迭代元素,执行消费器的accept方法 |
1.3 …常用API
修饰语和返回类型 | 方法 | 描述 |
---|---|---|
Iterator<T> | iterator() | 返回类型为T的迭代器 |
default Spliterator<T> | spliterator() | 创建返回类型为T的可分割迭代器 |
default void | forEach(Consumer<? super T> action) | 迭代元素,执行消费器的accept方法 |
第2部分 …数据结构
2.1 …的继承关系
java.lang.Object
↳ java.util.AbstractCollection<E>
↳ java.util.AbstractList<E>
↳ java.util.ArrayList<E>
public class ArrayList<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, java.io.Serializable {}
2.2 …的关系图
图1 …的关系图
第3部分 …源码解析(基于JDK-8u201)
public interface Iterable<T> {
Iterator<T> iterator();
default void forEach(Consumer<? super T> action) {
Objects.requireNonNull(action);
for (T t : this) {
action.accept(t);
}
}
default Spliterator<T> spliterator() {
return Spliterators.spliteratorUnknownSize(iterator(), 0);
}
}