迭代器和拆分迭代器这两个接口都用于迭代集合。
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); } }