Java基礎之Collections框架繼承Iterable接口解析
在Collections框架學習中,Collections接口繼承了Iterable接口,這個接口能提供什麼功能呢?
Iterable作用
實現這個接口允許對象成爲“for-each loop”語句的目標。
源碼
public interface Iterable<T> {
/**
返回指定泛型類型的迭代器
*/
Iterator<T> iterator();
/**
對Iterable的每個元素執行給定的操作,直到所有元素都被處理或操作拋出異常
*/
default void forEach(Consumer<? super T> action) {
Objects.requireNonNull(action);
for (T t : this) {
action.accept(t);
}
}
/**
在此Iterable描述的元素上創建一個Spliterator。
*/
default Spliterator<T> spliterator() {
return Spliterators.spliteratorUnknownSize(iterator(), 0);
}
}
當前這個接口會返回集合的迭代器,通過迭代器進行處理集合中的元素。