Java基础之Iterable接口
作者:
懂码哥 | 来源:发表于
2020-02-21 15:17 被阅读0次说明:
- Iterable接口是Java集合框架的顶级接口,实现此接口使集合对象可以通过迭代器遍历自身元素。
源码:
package java.lang;
import java.util.Iterator;
import java.util.Objects;
import java.util.Spliterator;
import java.util.Spliterators;
import java.util.function.Consumer;
public interface Iterable<T> {
/**
* iterator为Java中的迭代器对象,是能够对List这样的集合进行迭代遍历的底层依赖。
* 而iterable接口里定义了返回iterator的方法,相当于对iterator的封装,
* 同时实现了iterable接口的类可以支持for each循环
*/
Iterator<T> iterator();
/**
* 对Iterable中的元素进行指定的操作
* java8中forEach()方法是为了方便遍历并操作集合内的元素
*/
default void forEach(Consumer<? super T> action) {
Objects.requireNonNull(action);
for (T t : this) {
action.accept(t);
}
}
/**
* java8返回一个内部元素为T类型的并行迭代器
* spliterator()方法则提供了一个可以并行遍历元素的迭代器,以适应现在cpu多核时代并行遍历的需求。
*/
default Spliterator<T> spliterator() {
return Spliterators.spliteratorUnknownSize(iterator(), 0);
}
}
注:
- Java8新加了default关键字,被其修饰的方法可以不必由子类实现,并且由dafault修饰的方法在接口中有方法体。
本文标题:Java基础之Iterable接口
本文链接:https://www.haomeiwen.com/subject/ojmcqhtx.html
网友评论