The LinkedHashSet is an ordered version of HashSet that maintains a doubly-linked List across all elements. When the iteration order is needed to be maintained this class is used. When iterating through a HashSet the order is unpredictable, while a LinkedHashSet lets us iterate through the elements in the order in which they were inserted. When cycling through LinkedHashSet using an iterator, the elements will be returned to the order in which they were inserted.
Different Ways to Iterate LinkedHashSet Elements:
- Using the for-each loop
- Using iterators
- Using JDK 1.8 streams
Method 1: Using the for-each loop
Java
// Java Program to Iterate LinkedHashSet Elements Â
import java.util.*; import java.lang.*; import java.io.*; Â
class GFG {     // Main driver method     public static void main(String[] args)         throws java.lang.Exception     {         // Creating a LinkedHashSet         LinkedHashSet<Integer> hashSet             = new LinkedHashSet<Integer>(); Â
        // Adding elements to LinkedHashSet         // Custom inputs         hashSet.add( 1 );         hashSet.add( 2 );         hashSet.add( 3 );         hashSet.add( 4 );         hashSet.add( 5 ); Â
        // Iteration over HashSet         // using for-each loop         for (Integer element : hashSet) Â
            // Print the elements of LinkedHashSet created above             System.out.println( "Element is " + element);     } } |
Element is 1 Element is 2 Element is 3 Element is 4 Element is 5
Method 2: Using iterators
Java
// Java Program to Iterate LinkedHashSet Elements Â
import java.util.*; import java.lang.*; import java.io.*; Â
class GFG {     // Main driver method     public static void main(String[] args)         throws java.lang.Exception     {         // Creating a LinkedHashSet         LinkedHashSet<Integer> hashSet             = new LinkedHashSet<Integer>(); Â
        // Adding elements to LinkedHashSet         Custom inputs hashSet.add( 1 );         hashSet.add( 2 );         hashSet.add( 3 );         hashSet.add( 4 );         hashSet.add( 5 ); Â
        // Method returning iterator of same elements         // as in above LinkedHashSet         Iterator iter = hashSet.iterator(); Â
        // Condition check         // hasNext() method returns true         // if iterator has more elements to iterate         // else returns false (where cond violates)         while (iter.hasNext()) Â
            // Print all the elements of LinkedHashSet             // using next() method             System.out.println( "Element is " + iter.next());     } } |
Element is 1 Element is 2 Element is 3 Element is 4 Element is 5
Method 3: Using JDK 1.8 streams
Java
// Java Program to Iterate LinkedHashSet Elements Â
import java.util.*; import java.lang.*; import java.io.*; Â
class GFG {        // Main driver method     public static void main(String[] args)         throws java.lang.Exception     {         // Creating a LinkedHashSet         LinkedHashSet<Integer> hashSet             = new LinkedHashSet<Integer>(); Â
        // Adding elements to LinkedHashSet         // Custom inputs         hashSet.add( 1 );         hashSet.add( 2 );         hashSet.add( 3 );         hashSet.add( 4 );         hashSet.add( 5 ); Â
        // Method returning iterator of same elements         // as in above LinkedHashSet         Iterator iter = hashSet.iterator(); Â
        // Stream API used to process collection         // of objects Â
        // Iterating using for-each         hashSet.stream().forEach(element -> {                        // Print all elements of LinkedHashSet             System.out.println( "Element is " + element);         });     } } |
Element is 1 Element is 2 Element is 3 Element is 4 Element is 5