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–