Iterate or loop LinkedHashSet collection of String objects (java8/example)

  • Given the LinkedHashSet collection of String Objects in java.
  • Iterate through the LinkedHashSet collection using java 8 stream. We will demonstrate couple of methods to loop through LinkHashSet in java.
    1. Iterate through using LinkedHashSet’s Iterator.
    2. Loop through LinkedHashSet using Java 8 forEach (Lambda Streams).
  • LinkedHashSet maintains the Insertion order of elements using LinkedList
  • LinkedHashSet is UnSynchronized and not thread safe.
  • Iterator of LinkedHashSet is fail-fast.
    • Iterator will throw ConcurrentModificationException, if LinkedHashSet modified at any time after the iterator is created, in any way except through the iterator’s own remove method.
  • LinkedHashSet offers constant time performance for the basic operations like add, remove, contains and size.

1. LinkedHashSet collection class hierarchy:

Fig 1: LinkedHashSet collection class hierarchy

2. Iterate LinkedHashSet of string objects – java 8 streams

package org.learn.collection.set.lhset;

import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;

public class DemoIterationLinkedHashSet {

 public static void main(String[] args) {
  Set<String> cmputerGenerations = new LinkedHashSet<>();
  cmputerGenerations.add("VacuumTubes");
  cmputerGenerations.add("Transistors");
  cmputerGenerations.add("IntegratedCircuits");
  cmputerGenerations.add("Microprocessors");
  cmputerGenerations.add("ArtificialIntelligence");

  System.out.println("Method 1 - Iterate LinkedHashSet: ");
  demoIterateLinkedHashSet(cmputerGenerations);

  System.out.println("\nMethod 2 - Iterate LinkedHashSet using java 8: ");
  demoIterateLinkedHashSetJava8(cmputerGenerations);
 }

 private static void demoIterateLinkedHashSet(Set<String> cmputerGenerations) {
  Iterator<String> iterator = cmputerGenerations.iterator();
  while (iterator.hasNext()) {
   System.out.println(iterator.next());
  }
 }

 private static void demoIterateLinkedHashSetJava8(Set<String> cmputerGenerations) {
  cmputerGenerations.forEach((key) -> {
   System.out.println(key);
  });
 }
}

3. Iterate LinkedHashSet of String objects – lambda streams

Method 1 - Iterate LinkedHashSet: 
VacuumTubes
Transistors
IntegratedCircuits
Microprocessors
ArtificialIntelligence

Method 2 - Iterate LinkedHashSet using java 8: 
VacuumTubes
Transistors
IntegratedCircuits
Microprocessors
ArtificialIntelligence
Scroll to Top