Java中Iterator和Spilled Iterator的区别。
迭代器和拆分迭代器这两个接口都用于迭代集合。
Java8中引入了拆分迭代器来实现并行性。它可以拆分给定的元素集,并可以使用不同的独立线程并行执行操作。它可以并行地以及顺序地遍历元素。splitIterator接口中有以下重要方法-
trySplit-用于将给定的元素集拆分为多个片段。
tryAdvance-等同于Iterator接口中可用的hasNext/next方法
getExactSizeIfKnown<>-用于获取给定元素集的大小。
分流器示例
public class Main {
public static void main(String args[]) {
List<Integer> listOfInteger = new ArrayList<>();
listOfInteger.add(78);
listOfInteger.add(10);
listOfInteger.add(20);
listOfInteger.add(30);
Spliterator<Integer> s = listOfInteger.spliterator();
Spliterator<Integer> s1 = s.trySplit();
s.forEachRemaining(System.out::println);
System.out.println("Traverse Second Half ");
s1.forEachRemaining(System.out::println);
}
}