Java/J2EE and SOA (239 Blogs) Become a Certified Professional
AWS Global Infrastructure

Programming & Frameworks

Topics Covered
  • C Programming and Data Structures (46 Blogs)
  • Comprehensive Java Course (2 Blogs)
  • Java/J2EE and SOA (239 Blogs)
  • Spring Framework (8 Blogs)
SEE MORE

MI-new-launch

myMock Interview Service for Real Tech Jobs

myMock-widget-banner-bg

What is LinkedHashSet in Java? Understand with examples

Published on Jul 04,2019 164 Views
76 / 90 Blog from Java Fundamentals

MI-new-launch

myMock Interview Service for Real Tech Jobs

myMock-mobile-banner-bg

myMock Interview Service for Real Tech Jobs

  • Mock interview in latest tech domains i.e JAVA, AI, DEVOPS,etc
  • Get interviewed by leading tech experts
  • Real time assessment report and video recording

A Set is a collection which does not allow any duplicate elements. The most commonly used implementations of the set interface are HashSet, TreeSet and LinkedHashSet. In this article, we are going to explore one of these implementations: LinkedHashSet in Java.

Listed below are topics discussed in this article:

What is LinkedHashSet?

LinkedHashSet is a collection interface framework in Java. Basically, it is the child class or derived class of superclass HashSet. It differs from HashSet in the following ways:

  1. The insertion order of elements is preserved during the creation of a LinkedHashSet.
  2. An underlying data structure is the hybrid of Hash Table (in HashSet) & Linked List.
  3. Duplicates are not allowed in LinkedHashSet.

When we traverse through a LinkedHashSet via an iterating agent, the elements will be returned back in the same order as they were inserted. The flowchart provided below explains that the interface Set implements class LinkedHashSet in Java

Hierarchy - LinkedHashSet in Java - Edureka

At the beginning of this article, we discussed how LinkedHashSet differs from HashSet. Let’s take a look at some example programs to understand how LinkedHashSet is different.

Order of Insertion

Here’s an example program of LinkedHashSet demonstrating if the insertion order is preserved or not.

import java.util.*;
public class Method1 {
   public static void main(String args[]) {
       LinkedHashSet hs=new LinkedHashSet(); 
       // Adding elements to the LinkedHashSet
       hs.add("E");
       hs.add("d");
       hs.add("u");
       hs.add("r");
       hs.add("e");
       hs.add("k");
       hs.add("a");
       // Displaying the updated LinkedHashSet
       System.out.println("Updated LinkedHashSet: "+ hs);
   }
}

Output

Updated LinkedHashSet: [E, d, u, r, e, k, a]

The output clearly shows that the insertion order is preserved in LinkedHashSet in contrary to the HashSet Class.

Redundancy

In LinkedHashSet duplicate elements are not allowed. Let us look at an illustration to check whether this is true or not.

import java.util.*;
public class Method1 {
   public static void main(String args[]) {
       LinkedHashSet hs=new LinkedHashSet(); 
       // Adding elements to the LinkedHashSet
       hs.add("E");
       hs.add("E");//addition of duplicate elements
       hs.add("d");
       hs.add("u");
       hs.add("r");
       hs.add("e");
       hs.add("k");
       hs.add("a");
       hs.add("a");//addition of duplicate elements
       // Displaying the LinkedHashSet 
       System.out.println("LinkedHashSet Contains : "+ hs); }
}

Output

LinkedHashSet Contains : [E, d, u, r, e, k, a]

So keeping in mind that duplicates are not allowed and the insertion order is preserved LinkedHashSet is widely used in building cache-based applications. Well, let’s get to the next topic of this ‘LinkedHashList in Java’ article.

Java LinkedHashSet Examples

Here are some example programs demonstrating the use of LinkedHashSet in Java.

Calculating Size and Searching for an Element in the LinkedHashSet

import java.util.*;
public class Example1 {
   public static void main(String args[]) {
       LinkedHashSet hs=new LinkedHashSet(); 
       // Adding elements to the LinkedHashSet
       hs.add("E");
       hs.add("d");
       hs.add("u");
       hs.add("r");
       hs.add("e");
       hs.add("k");
       hs.add("a");
       // Getting the size of the LinkedHashSet
       System.out.println("The size of the LinkedHashSet is  "+ hs.size());
       // Checking whether the LinkedHashSet  contains an element or not
       System.out.println("Is B Present in the LinkedHashSet?:  "+ hs.contains("B")); 
       // Checking whether the LinkedHashSet  contains an element or not
       System.out.println("Is E Present in the LinkedHashSet?:  "+ hs.contains("E"));
} }

Output

The size of the LinkedHashSet is 7
Is B Present in the LinkedHashSet?: false
Is E Present in the LinkedHashSet?: true

If the element is present in the HashSet program returns true and in case the element is not found program returns false

Removing an Element from the LinkedHashSet

import java.util.*;
public class Example2 {
   public static void main(String args[]) {
       LinkedHashSet hs=new LinkedHashSet(); 
       // Adding elements to the LinkedHashSet
       hs.add("E");
       hs.add("d");
       hs.add("u");
       hs.add("r");
       hs.add("e");
       hs.add("k");
       hs.add("a");
       System.out.println("Original LinkedHashSet: " + hs);
       // Removing element e from the LinkedHashSet
       System.out.println("Removal Status: "+hs.remove("e"));
       // Displaying the updated LinkedHashSet
       System.out.println("Updated LinkedHashSet: "+ hs); } }

Output

Original LinkedHashSet: [E, d, u, r, e, k, a]
Removal Status: true
Updated LinkedHashSet: [E, d, u, r, k, a]

As you can see, the order remains unchanged and the element is successfully removed from the set.  

This brings us to the end of this ‘LinkedHashSet in Java’ article. I hope the Java LinkedHashSet class examples that we discussed here will help you in getting started with LinkedHashSet programming in Java.

Make sure you practice as much as possible and revert your experience.  

Check out the Java Training by Edureka, a trusted online learning company with a network of more than 250,000 satisfied learners spread across the globe. We are here to help you with every step on your journey, for becoming a besides this java interview questions, we come up with a curriculum which is designed for students and professionals who want to be a Java Developer. 

Got a question for us? Please mention it in the comments section of this ‘LinkedHashSet in Java’ article and we will get back to you as soon as possible.

Comments
0 Comments

Browse Categories

Subscribe to our Newsletter, and get personalized recommendations.