The spliterator() method of PriorityQueue returns a Spliterator the same elements as PriorityQueue.The returned Spliterator is late-binding and fail-fast Spliterator. A late-binding Spliterator binds to the source of elements means PriorityQueue 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 PriorityQueue.
Below programs illustrate spliterator() method of PriorityQueue:
Example 1: To demonstrate spliterator() method on PriorityQueue.
// Java Program Demonstrate spliterator() // method of PriorityQueue import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create an PriorityQueue
PriorityQueue<String> queue = new PriorityQueue<String>();
// Add String to queue
queue.add( "Kolkata" );
queue.add( "Patna" );
queue.add( "Delhi" );
queue.add( "Jammu" );
// using spliterator() method
Spliterator<String> spt = queue.spliterator();
// print result from Spliterator
System.out.println( "list of Strings:" );
// forEachRemaining method of Spliterator
spt.forEachRemaining((n) -> System.out.println(n));
}
} |
list of Strings: Delhi Jammu Kolkata Patna
Example 2: To demonstrate spliterator() method on PriorityQueue which contains set of Students Names.
// Java Program Demonstrate spliterator() // method of PriorityQueue import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create an PriorityQueue which going to
// contain list of names
PriorityQueue<String> queue = new PriorityQueue<String>();
// Add String object to queue
queue.add( "Aman" );
queue.add( "Amar" );
queue.add( "Sanjeet" );
queue.add( "Josh" );
queue.add( "Ron" );
queue.add( "Kevin" );
// using spliterator() method
Spliterator<String> spt = queue.spliterator();
// print result from Spliterator
System.out.println( "list of String Object:" );
// forEachRemaining method of Spliterator
spt.forEachRemaining((n) -> print(n));
}
public static void print(String s)
{
System.out.println( "Student Name: " + s);
}
} |
list of String Object: Student Name: Aman Student Name: Amar Student Name: Kevin Student Name: Josh Student Name: Ron Student Name: Sanjeet
Reference: https://docs.oracle.com/javase/8/docs/api/java/util/PriorityQueue.html#spliterator–