Skip to content
geeksforgeeks
  • Tutorials
    • Python
    • Java
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
    • Practice Coding Problems
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Java Arrays
  • Java Strings
  • Java OOPs
  • Java Collection
  • Java 8 Tutorial
  • Java Multithreading
  • Java Exception Handling
  • Java Programs
  • Java Project
  • Java Collections Interview
  • Java Interview Questions
  • Java MCQs
  • Spring
  • Spring MVC
  • Spring Boot
  • Hibernate
Open In App
Next Article:
Design LRU Cache
Next article icon

LinkedHashMap and LinkedHashSet in Java

Last Updated : 21 Feb, 2023
Comments
Improve
Suggest changes
Like Article
Like
Report

The LinkedHashMap is just like HashMap with an additional feature of maintaining an order of elements inserted into it. HashMap provided the advantage of quick insertion, search, and deletion but it never maintained the track and order of insertion which the LinkedHashMap provides where the elements can be accessed in their insertion order. 

Example:

Java
// Java program to demonstrate // working of LinkedHashMap import java.util.*;  class LinkedHashMapExample {      public static void main(String args[])     {          // create an instance of LinkedHashMap         LinkedHashMap<Integer, String> lhm;         lhm = new LinkedHashMap<Integer, String>();          // insert element in LinkedHashMap         lhm.put(100, "Amit");          // insert first null key         lhm.put(null, "Ajay");         lhm.put(101, "Vijay");         lhm.put(102, "Rahul");          // insert second null key         // which replace first null key value         lhm.put(null, "Anuj");          // insert duplicate         // which replace first 102 key value         lhm.put(102, "Saurav");          // iterate and print the key/value pairs         lhm.entrySet().stream().forEach((m) -> {             System.out.println(m.getKey() + " "                                + m.getValue());         });     } } 

 
 


Output
100 Amit null Anuj 101 Vijay 102 Saurav


 

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 in the order in which they were inserted.


 

Example:


 

Java
// Java program to demonstrate // working of LinkedHashSet import java.util.*;  class LinkedHashSetExample {      public static void main(String args[])     {         // create an instance of LinkedHashSet         LinkedHashSet<String> lhs             = new LinkedHashSet<String>();          // insert element in LinkedHashMap         lhs.add("Amit");          // insert first null key         lhs.add(null);         lhs.add("Vijay");         lhs.add("Rahul");          // insert second null key         // which replace first null key value         lhs.add(null);         // insert duplicate         lhs.add("Vijay");          // create an iterator         // iterate and print the elements         Iterator<String> itr = lhs.iterator();         while (itr.hasNext()) {             System.out.println(itr.next());         }     } } 

 
 


Output
Amit null Vijay Rahul


 

The Hierarchy of LinkedHashMap and LinkedHashSet
 


 

LinkedHashMap and LinkedHashSet

Similarities between LinkedHashMap and LinkedHashSet

Property

LinkedHashMap and LinkedHashSet

OrderBoth LinkedHashMap and LinkedHashSet maintain the insertion order. Elements get sorted in the same sequence in which they have been added.
SynchronizedBoth are not synchronized and must be synchronized externally.
DuplicatesLinkedHashMap does a mapping of keys to values so it doesn't have duplicates and LinkedHashSet simply stores a collection of things with no duplicates.
MemoryKeeping the insertion order in both LinkedHashmap and LinkedHashset have additional associated costs, both in terms of spending additional CPU cycles and needing more memory.


Differences between LinkedHashMap and LinkedHashSet

Property

LinkedHashMap

LinkedHashSet

Declaration

The default constructor declaration is :

LinkedHashMap lhm = new LinkedHashMap();

The default constructor declaration is :

LinkedHashSet hs = new LinkedHashSet();

Class Declarationpublic class LinkedHashMap<K, V> extends HashMap<K, V> implements Map<K, V>public class LinkedHashSet<E> extends HashSet<E> implements Set<E>, Cloneable, Serializable
Constructor

The LinkedHashMap accepts five types of constructors:

  • LinkedHashMap()
  • LinkedHashMap(int initialCapacity)
  • LinkedHashMap(int initialCapacity, float fillRatio)
  • LinkedHashMap(int initialCapacity, float fillRatio, boolean Order)
  • LinkedHashMap​(Map<? extends K,​? extends V> m)

The LinkedHashSet accepts four types of constructors:

  • LinkedHashSet()
  • LinkedHashSet(Collection<? extends E> C)
  • LinkedHashSet(int initialCapacity)
  • LinkedHashSet(int initialCapacity, float fillRatio)
OperationLinkedHashMap does a mapping of keys to values.LinkedHashSet simply stores a collection of things.
ReplacementLinkedHashMap replaces the value with a duplicate key.LinkedHashSet not change the original value.
Null ObjectLinkedHashMap has elements in key-value pairs so have only one null key and multiple null values.LinkedHashSet simply stores a collection of things with one null value.

 


 


Next Article
Design LRU Cache

R

rajput-ji
Improve
Article Tags :
  • Java
  • Technical Scripter
  • Difference Between
  • Technical Scripter 2018
  • Java-LinkedHashMap
  • java-LinkedHashSet
Practice Tags :
  • Java

Similar Reads

    Java LinkedHashMap
    LinkedHashMap in Java implements the Map interface of the Collections Framework. It stores key-value pairs while maintaining the insertion order of the entries. It maintains the order in which elements are added.Stores unique key-value pairs.Maintains insertion order.Allows one null key and multiple
    7 min read
    Java LinkedHashMap clear() Method
    The clear() method in Java is a built-in method of the java.util.LinkedHashMap class. This method is used to remove all the key-value mappings from a LinkedHashMap. After invoking this method, the map becomes empty.This method is very helpful when we want to reuse an existing map object without crea
    2 min read
    LinkedHashMap containsKey() Method in Java with Examples
    The java.util.LinkedHashMap.containsKey() method is used to check whether a particular key is being mapped into the LinkedHashMap or not. It takes the key element as a parameter and returns True if that element is mapped in the map.Syntax: Linked_Hash_Map.containsKey(key_element) Parameters: The met
    2 min read
    LinkedHashMap get() Method in Java with Examples
    In Java, get() method of LinkedHashMap class is used to retrieve or fetch the value mapped by a particular key mentioned in the parameter. It returns NULL when the map contains no such mapping for the key. --> java.util Package --> LinkedHashMap Class --> get() Method Syntax: Linked_Hash_Ma
    2 min read
    LinkedHashMap removeEldestEntry() Method in Java
    The java.util.LinkedHashMap.removeEldestEntry() method in Java is used keep a track of whether the map removes any eldest entry from the map. So each time a new element is added to the LinkedHashMap, the eldest entry is removed from the map. This method is generally invoked after the addition of the
    3 min read
    LinkedHashMap and LinkedHashSet in Java
    The LinkedHashMap is just like HashMap with an additional feature of maintaining an order of elements inserted into it. HashMap provided the advantage of quick insertion, search, and deletion but it never maintained the track and order of insertion which the LinkedHashMap provides where the elements
    3 min read
    Design LRU Cache
    Design a data structure for LRU Cache. It should support the following operations: get and put.get(key) - Returns the value of the given key if it exists in the cache; otherwise, returns -1.put(key, value) - Inserts or updates the key-value pair in the cache. If the cache reaches capacity, remove th
    5 min read
    Hashing in Java
    In hashing there is a hash function that maps keys to some values. But these hashing function may lead to collision that is two or more keys are mapped to same value. Chain hashing avoids collision. The idea is to make each cell of hash table point to a linked list of records that have same hash fun
    6 min read
    Differences between TreeMap, HashMap and LinkedHashMap in Java
    Prerequisite: HashMap and TreeMap in Java TreeMap, HashMap and LinkedHashMap: What's Similar? All offer a key->value map and a way to iterate through the keys. The most important distinction between these classes is the time guarantees and the ordering of the keys.All three classes HashMap, TreeM
    5 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences