文章目录
Collection接口与Iterator接口
1. Iterable接口
Iterable是Collection接口的父接口, 它主要提供了一个方法iterator()方法,和foreach()方法,他们都是用来遍历集合中的元素的。iterator()方法返回一个Iterator的实现类,Iterator的实现类都是继承类一个叫做Iterator的接口。
/**
* Returns an iterator over elements of type {@code T}.
*
* @return an Iterator.
*/
Iterator<T> iterator();
default void forEach(Consumer<? super T> action) {
Objects.requireNonNull(action); for (T t : this) {
action.accept(t); }
}
2. Iterator接口
接口规定Iterator接口的实现类必须要实现 hasNext(), next()方法,forEachRemaining .
这些方法就可以帮助我们遍历。
public interface Iterator<E> {
boolean hasNext();
E next();
default void remove() {
throw new UnsupportedOperationException("remove");
}
default void forEachRemaining(Consumer<? super E> action) {
Objects.requireNonNull(action);
while (hasNext(