Java ArrayList spliterator()方法
ArrayList 的 spliterator() 方法返回一个与ArrayList相同元素的Spliterator,但创建的Spliterator是晚期绑定的,并且是快速失效的。一个晚期绑定的Spliterator会绑定到元素的来源。它意味着Arraylist在第一次遍历、第一次分割或第一次查询估计大小的时候,而不是在Spliterator创建的时候。它可以在Java 8中与Streams一起使用。另外,它也可以单独或批量地遍历元素。Spliterator是一种更好的遍历元素的方式,因为它提供了对元素的更多控制。
- 它使用tryAdvance()方法,在多个线程中单独迭代元素,以支持并行处理。
- forEachRemaining()方法在一个单一的线程中依次迭代元素。
- trySplit()方法将自己分成子分裂器以支持并行处理。
Spliterator同时支持数据的顺序和并行处理。
如果你观察下面程序的输出,你会发现Spliterator.forEachRemaining()方法的工作方式与ArrayList.foreach()相同,但它提供了更好的性能。
语法
返回: 该方法在ArrayList的元素上返回一个Spliterator。
下面的程序说明了ArrayList的splitator()方法。
例1: 在ArrayList上演示spliterator()方法,ArrayList包含一个电子邮件的列表。
输出。
例2: 在包含用户列表的ArrayList上演示spliterator()方法。
输出。
参考资料:
https://docs.oracle.com/javase/10/docs/api/java/util/ArrayList.html#spliterator()