The spliterator() method of HashSet returns a Spliterator with the same elements as HashSet. The returned Spliterator is late-binding and fail-fast Spliterator. A late-binding Spliterator binds to the source of elements means HashSet 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 HashSet.
Below programs illustrate spliterator() method of HashSet:
Example 1: To demonstrate spliterator() method on HashSet which contains a set of Numbers.
// Java Program Demonstrate spliterator() // method of HashSet   import java.util.*; public class GFG {       public static void main(String[] args)     {           // create an HashSet which going to         // contains a list of Numbers         HashSet<Integer> Numbers = new HashSet<Integer>();           // Add Number to list         Numbers.add( 23 );         Numbers.add( 32 );         Numbers.add( 45 );         Numbers.add( 63 );           // using spliterator() method         Spliterator<Integer> numbers = Numbers.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: 32 23 45 63
Example 2: To demonstrate spliterator() method on HashSet which contains set of Students Names.
// Java Program Demonstrate spliterator() // method of HashSet   import java.util.*; public class GFG {       public static void main(String[] args)     {           // create an HashSet which going to         // contains a list of string values         HashSet<String> students = new HashSet<String>();           // Add Strings to list         students.add( "Ram" );         students.add( "Mohan" );         students.add( "Sohan" );         students.add( "Rabi" );           // using spliterator() method         Spliterator<String> names = students.spliterator();           // print result from Spliterator         System.out.println( "list of Students:" );           // forEachRemaining method of Spliterator         names.forEachRemaining(             (n) -> System.out.println( "Student Name: " + n));     } } |
list of Students: Student Name: Rabi Student Name: Mohan Student Name: Sohan Student Name: Ram
Reference: https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html#spliterator–