Iterator原理及实现
Iteratable
public interface Iterable<T> {
//返回迭代器
Iterator<T> iterator();
//对每个元素执行action操作,提供了默认实现
//@since 1.8
default void forEach(Consumer<? super T> action) {
Objects.requireNonNull(action);
for (T t : this) {
action.accept(t);
}
}
//返回Spliterator
//@since 1.8
default Spliterator<T> spliterator() {
return Spliterators.spliteratorUnknownSize(iterator(), 0);
}
}Iterator
ArrayList中的实现
Map中的迭代
参考
Last updated