The spliterator() method of ArrayDeque returns a Spliterator of the same elements as ArrayDeque but created Spliterator is late-binding and fail-fast. A late-binding Spliterator binds to the source of elements means ArrayDeque at the point of first traversal, first split, or first query for estimated size, rather than at the time the Spliterator is created. It can be used with Streams in Java 8. Also it can traverse elements individually and in bulk too. Spliterator is better way to traverse over element because it provides more control on elements.
Syntax:
public Spliterator<E> spliterator()
Returns: This method returns a Spliterator over the elements in ArrayDeque.
Below programs illustrate spliterator() method of ArrayDeque:
Example 1: To demonstrate spliterator() method on ArrayDeque which contains a list of Numbers.
// Java Program Demonstrate spliterator() // method of ArrayDeque import java.util.*; public class GFG { public static void main(String[] args) { // create an ArrayDeque which going to // contains a list of numbers ArrayDeque<Integer> list = new ArrayDeque<Integer>(); // Add numbers to list list.add( 1234 ); list.add( 2345 ); list.add( 3456 ); list.add( 4567 ); // create Spliterator of ArrayDeque // using spliterator() method Spliterator<Integer> numbers = list.spliterator(); // print result from Spliterator System.out.println( "list of Numbers:" ); // forEachRemaining method of Spliterator numbers.forEachRemaining((n) -> System.out.println(n)); } } |
list of Numbers: 1234 2345 3456 4567
Example 2: To demonstrate spliterator() method on ArrayDeque which contains list of Strings.
// Java Program Demonstrate spliterator() // method of ArrayDeque import java.util.*; public class GFG { public static void main(String[] args) { // create an ArrayDeque which going to // contains a list of Strings ArrayDeque<String> list = new ArrayDeque<String>(); // Add Strings to list // each string represents city name list.add( "Kolkata" ); list.add( "Delhi" ); list.add( "Mumbai" ); list.add( "Jaipur" ); // create Spliterator of ArrayDeque // using spliterator() method Spliterator<String> cities = list.spliterator(); // print result from Spliterator System.out.println( "list of Cities:" ); // forEachRemaining method of Spliterator cities.forEachRemaining( (n) -> System.out.println( "City Name: " + n)); } } |
list of Cities: City Name: Kolkata City Name: Delhi City Name: Mumbai City Name: Jaipur
Reference:
https://docs.oracle.com/javase/10/docs/api/java/util/ArrayDeque.html#spliterator()