Java中Iterator和Spilled Iterator的区别。

迭代器和拆分迭代器这两个接口都用于迭代集合。

Java 8中引入了拆分迭代器来实现并行性。它可以拆分给定的元素集,并可以使用不同的独立线程并行执行操作。它可以并行地以及顺序地遍历元素。splitIterator接口中有以下重要方法-

  • trySplit-用于将给定的元素集拆分为多个片段。

  • tryAdvance-等同于Iterator接口中可用的hasNext / next方法

  • getExactSizeIfKnown <>-用于获取给定元素集的大小。

序号迭代器拆分迭代器
1
基本的
它可以用于遍历集合的元素
它也可以与Stream一起使用。
2
批量操作
它只能用于一个元素的遍历
可用于批量遍历元素。
3
顺序/并行
它只能以顺序方式遍历元素
它可以按顺序以及并行方式遍历元素。
4。
外部/内部迭代器
迭代器使用外部迭代来迭代集合
分离器使用内部迭代

分流器示例

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);
   }
}