Java ArrayListspliterator() Method
Example
Use aSpliterator to loop through items in a list:
import java.util.ArrayList;import java.util.Spliterator;public class Main { public static void main(String[] args) { // Make a collection ArrayList<String> cars = new ArrayList<String>(); cars.add("Volvo"); cars.add("BMW"); cars.add("Ford"); cars.add("Mazda"); // Get the spliterator and split it Spliterator<String> it1 = cars.spliterator(); Spliterator<String> it2 = it1.trySplit(); // Loop through the first spliterator System.out.println("First spliterator"); while( it1.tryAdvance( (n) -> { System.out.println(n); } ) ); // Loop through the second spliterator System.out.println("\nSecond spliterator"); while( it2.tryAdvance( (n) -> { System.out.println(n); } ) ); }}Note: The syntaxwhile( it1.tryAdvance( (n) -> { System.out.println(n); } ) ); is equivalent to:
boolean x = it1.tryAdvance( (n) -> { System.out.println(n); });while(x) { x = it1.tryAdvance( (n) -> { System.out.println(n); });}Definition and Usage
Thespliterator() method returns aSpliterator for the list.
A spliterator is a special type of iterator. To learn how to use iterators, see ourJava Iterator tutorial.
TheSpliterator is considerably different from an ordinary iterator. The purpose of a spliterator is to separate a collection into smaller pieces so that each piece can be processed by a separate thread. TheSpliterator interface has two important methods:
trySplit()- Returns a new spliterator which can iterate through (usually and approximately) half of the elements that the original spliterator has access to, while the original spliterator can iterate through the remaining half.tryAdvance(Consumeraction)- Moves to the next item that is available to the spliterator and tries to perform an action on it. If there is no next item then it returnsfalse. The action can be defined by a lambda expression.
Syntax
public Spliterator spliterator()Technical Details
| Returns: | ASpliterator object. |
|---|---|
| Java version: | 1.8+ |
Related Pages
❮ ArrayList Methods

