📘 Premium Read: Access my best content on Medium member-only articles — deep dives into Java, Spring Boot, Microservices, backend architecture, interview preparation, career advice, and industry-standard best practices.
🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.
▶️ Subscribe to My YouTube Channel (176K+ subscribers): Java Guides on YouTube
▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube
Order Preservation:
Null elements:
No Duplicates:
Non-synchronized:
Performance:
Uses:
Iteration:
Inherits from HashSet:
Create LinkedHashSet and Add Elements to It
// Import the necessary class from the Java Collections Framework import java.util.LinkedHashSet; public class LinkedHashSetExample { public static void main(String args[]) { // Create a new LinkedHashSet of strings LinkedHashSet<String> linkedHashSet = new LinkedHashSet<String>(); // Add elements to the LinkedHashSet linkedHashSet.add("Apple"); linkedHashSet.add("Orange"); linkedHashSet.add("Banana"); linkedHashSet.add("Pineapple"); linkedHashSet.add("Apple"); // This will not be inserted as "Apple" is already present in the set // Try to add a null value linkedHashSet.add(null); linkedHashSet.add(null); // This will not be inserted as null is already present in the set // Print the LinkedHashSet System.out.println(linkedHashSet); // Outputs: [Apple, Orange, Banana, Pineapple, null] } }
Output:
[Apple, Orange, Banana, Pineapple, null]
Access Elements from LinkedHashSet
/ Import the necessary classes import java.util.LinkedHashSet; import java.util.Iterator; public class LinkedHashSetExample { public static void main(String args[]) { // Create a new LinkedHashSet of strings LinkedHashSet<String> linkedHashSet = new LinkedHashSet<String>(); // Add elements to the LinkedHashSet linkedHashSet.add("Apple"); linkedHashSet.add("Orange"); linkedHashSet.add("Banana"); linkedHashSet.add("Pineapple"); // Create an iterator Iterator<String> iterator = linkedHashSet.iterator(); // Print the LinkedHashSet using the iterator while(iterator.hasNext()) { System.out.println(iterator.next()); } // Alternatively, you can also use the for-each loop to access elements System.out.println("\nIterating using for-each loop: "); for(String fruit : linkedHashSet) { System.out.println(fruit); } } }
Output:
Apple Orange Banana Pineapple Iterating using for-each loop: Apple Orange Banana Pineapple
Removing Elements from LinkedHashSet
// Import the necessary classes import java.util.LinkedHashSet; public class LinkedHashSetExample { public static void main(String args[]) { // Create a new LinkedHashSet of strings LinkedHashSet<String> linkedHashSet = new LinkedHashSet<String>(); // Add elements to the LinkedHashSet linkedHashSet.add("Apple"); linkedHashSet.add("Orange"); linkedHashSet.add("Banana"); linkedHashSet.add("Pineapple"); // Print the original LinkedHashSet System.out.println("Original LinkedHashSet: " + linkedHashSet); // Remove the "Orange" element linkedHashSet.remove("Orange"); // Print the LinkedHashSet after removing "Orange" System.out.println("LinkedHashSet after removing Orange: " + linkedHashSet); // If you try to remove an element which does not exist, it will not throw an error. // It will simply return false. boolean isRemoved = linkedHashSet.remove("Grapes"); System.out.println("Is Grapes removed: " + isRemoved); // Clear all elements from the LinkedHashSet linkedHashSet.clear(); // Print the LinkedHashSet after clearing all elements System.out.println("LinkedHashSet after clearing all elements: " + linkedHashSet); } }
Output:
Original LinkedHashSet: [Apple, Orange, Banana, Pineapple] LinkedHashSet after removing Orange: [Apple, Banana, Pineapple] Is Grapes removed: false LinkedHashSet after clearing all elements: []
Search Elements in LinkedHashSet
// Import the necessary classes import java.util.LinkedHashSet; public class LinkedHashSetSearch { public static void main(String[] args) { // Create a LinkedHashSet LinkedHashSet<String> linkedHashSet = new LinkedHashSet<String>(); // Add elements to LinkedHashSet linkedHashSet.add("Apple"); linkedHashSet.add("Orange"); linkedHashSet.add("Banana"); linkedHashSet.add("Pineapple"); // Display the LinkedHashSet System.out.println("LinkedHashSet: " + linkedHashSet); // Check if the LinkedHashSet contains "Apple" boolean found = linkedHashSet.contains("Apple"); System.out.println("Is Apple in the LinkedHashSet? " + found); // Check if the LinkedHashSet contains "Grapes" found = linkedHashSet.contains("Grapes"); System.out.println("Is Grapes in the LinkedHashSet? " + found); } }
Output:
LinkedHashSet: [Apple, Orange, Banana, Pineapple] Is Apple in the LinkedHashSet? true Is Grapes in the LinkedHashSet? false
Iterating over LinkedHashSet
Using an Iterator
Iterator<String> iterator = linkedHashSet.iterator(); while(iterator.hasNext()) { String element = iterator.next(); System.out.println(element); }
Using a for-each loop
for(String element : linkedHashSet) { System.out.println(element); }
Using Java 8's forEach method
linkedHashSet.forEach(element -> { System.out.println(element); });
Using Java 8's Stream API
linkedHashSet.stream().forEach(System.out::println);
Complete Example
import java.util.LinkedHashSet; import java.util.Iterator; public class Main { public static void main(String[] args) { LinkedHashSet<String> linkedHashSet = new LinkedHashSet<>(); // Add elements to the LinkedHashSet linkedHashSet.add("Apple"); linkedHashSet.add("Banana"); linkedHashSet.add("Cherry"); // Using Iterator System.out.println("Iterating using Iterator:"); Iterator<String> iterator = linkedHashSet.iterator(); while(iterator.hasNext()) { String element = iterator.next(); System.out.println(element); } // Using for-each loop System.out.println("\nIterating using for-each loop:"); for(String element : linkedHashSet) { System.out.println(element); } // Using Java 8's forEach method System.out.println("\nIterating using Java 8's forEach method:"); linkedHashSet.forEach(element -> { System.out.println(element); }); // Using Java 8's Stream API System.out.println("\nIterating using Java 8's Stream API:"); linkedHashSet.stream().forEach(System.out::println); } }
Output:
Iterating using Iterator: Apple Banana Cherry Iterating using for-each loop: Apple Banana Cherry Iterating using Java 8's forEach method: Apple Banana Cherry Iterating using Java 8's Stream API: Apple Banana Cherry
LinkedHashSet with User defined objects
This example shows how to create a LinkedHashSet of user-defined objects and it maintains insertion order.import java.util.HashSet; import java.util.Objects; import java.util.Set; class Customer { private long id; private String name; public Customer(long id, String name) { this.id = id; this.name = name; } public long getId() { return id; } public void setId(long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } // Two customers are equal if their IDs are equal @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Customer customer = (Customer) o; return id == customer.id; } @Override public int hashCode() { return Objects.hash(id); } @Override public String toString() { return "Customer{" + "id=" + id + ", name='" + name + '\'' + '}'; } } public class HashSetUserDefinedObjectExample { public static void main(String[] args) { Set<Customer> customers = new LinkedHashSet<>(); customers.add(new Customer(101, "Ramesh")); customers.add(new Customer(102, "Umesh")); customers.add(new Customer(103, "Rajkumar")); System.out.println(customers); } }
import java.util.HashSet; import java.util.Objects; import java.util.Set; class Customer { private long id; private String name; public Customer(long id, String name) { this.id = id; this.name = name; } public long getId() { return id; } public void setId(long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } // Two customers are equal if their IDs are equal @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Customer customer = (Customer) o; return id == customer.id; } @Override public int hashCode() { return Objects.hash(id); } @Override public String toString() { return "Customer{" + "id=" + id + ", name='" + name + '\'' + '}'; } } public class HashSetUserDefinedObjectExample { public static void main(String[] args) { Set<Customer> customers = new LinkedHashSet<>(); customers.add(new Customer(101, "Ramesh")); customers.add(new Customer(102, "Umesh")); customers.add(new Customer(103, "Rajkumar")); System.out.println(customers); } }
Comments
Post a Comment
Leave Comment