SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
Hashmap Internal Working
in Java
Introduction
HashMap is a part of Java’s collection since Java 1.2. It provides the basic
implementation of Map interface of Java. It stores the data in (Key, Value) pairs.
Equals and hashcode methods
In order to understand the internal working of HashMap, we must be aware of hashcode and equals method.
equals(Object otherObject) – As method name suggests, it is
used to simply verify the equality of two objects.
hashcode() – is a integer code generated for any variable/object
after applying a formula/algorithm on its properties. The hash code
for a String object is computed as
s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1], where
s[i] is the ith character of the string, n is the length of the string.
What’s the output?
public static void main(String[] args) {
String s1 = "Compassites";
String s2 = "Software";
System.out.println( s1.equals(s2) );
System.out.println("Compassites " + s1.hashCode() );
System.out.println("Ea " + s2.hashCode() );
}
It Produces the following output.
false
Compassites hashCode: 1297712907
Software hasCode: 1383974343
What about this?
public static void main(String[] args) {
String s1 = "FB";
String s2 = "Ea";
System.out.println( s1.equals(s2) );
System.out.println("FB hashcode " + s1.hashCode() );
System.out.println("Ea hashcode " + s2.hashCode() );
}
What about this?
public static void main(String[] args) {
String s1 = "FB";
String s2 = "Ea";
System.out.println( s1.equals(s2) );
System.out.println("Compassites " + s1.hashCode() );
System.out.println("Ea " + s2.hashCode() );
}
It Produces the following output.
false
FB hashcode 2236
Ea hashcode 2236
You can see that the hashcodes are same for “FB” and “Ea”. So we can
conclude that...
Two Rules:
1. If two objects are equal then they must have the same
hashcode. (hascode of “aa” and “aa” are same)
2. If two objects have the same hashcode, they may or may not
be equal. (string “FB” has hashcode 2236 and “Ea” has
hashcode 2236 bu they are not equal)
To make it 2nd point clear, we can say that
“Birthday as HashCode”
Now that we are aware of Hashcode and Equals method, let’s
learn the internal working of Hashmap
Hashing?
HashMap is known as HashMap because it uses a technique
called Hashing.
Hashing is a technique of converting a large String to small
String that represents same String.
A shorter value helps in indexing and faster searches.
Internally HashMap contains an array of Node and a node is
represented as a class which contains 4 fields :
It can be seen that node is containing a
reference of its own object. So it’s a linked
list.
Hashmap:
Few Terms...
Buckets : A bucket is one element of HashMap array. It is used to store nodes.
Two or more nodes can have the same bucket. In that case link list structure is
used to connect the nodes.
Load Factor is a measure, which decides when exactly to increase the hashmap
capacity(buckets).
HashMap() : It is the default constructor which creates an instance of HashMap
with initial capacity 16 and load factor of 0.75. (meaning capacity is doubled
when 75% of hashmap is filled)
HashMap(int initialCapacity, float loadFactor) : It creates a HashMap instance
with specified initial capacity and specified load factor.
.
Put Operation in HashMap:
Say our program is something like this
HashMap<String, Integer> map = new HashMap<>();
scores.put (“Rohit”, 140);
scores.put (“Dinesh”, 70);
scores.put (“Dhoni”, 90);
scores.put (“Kholi”, 100);
scores.put (“Sachin”, 150);
scores.put (“Dravid”, 130);
Let’s see what is happening internally...
Initially Empty hashMap:
Here, the hashmap’s size is 16.(default hashmapsize)
HashMap map = new HashMap();
Inserting Key-Value Pair:
Let us understand at which location below key value pair will be saved into HashMap.
scores.put (“Rohit”, 140);
When you call the put function then it computes the hash code of the Key.
Lets suppose the Hash code of (“Rohit”) is 2657860.
Our array has an index till 15, so in order to store “Rohit”, we have to calculate index using a modular operation
Index = 2657860 % 16 => 4
Index = 4, So 4 is the computed bucket index value where the entry will sit as a
node in the HashMap.
Hash Collision
Let us understand at which location below key value pair will be saved into HashMap.
scores.put (“Dhoni”, 90);
When you call the put function then it computes the hash code of the Key.
Lets suppose the Hash code of (“Dhoni”) is 63281940.
Our array has an index till 15, so in order to store “Rohit”, we have to calculate index using a
modular operation
Index = 63281940 % 16 => 4
Get Operation in HashMap:
int rohitScore = scores.get (“Rohit”);
So get operation does the same as that of put operation. When the get function is
called it basically gets the hash code of the Key.
Lets suppose Hash of (“Rohit”) is 2657860
Index = 2657860 % 16 => 4
Now hashMap lookups at bucket index 4 for the hash code of the key
“2657860”.
Hash code “2657860” found then it lookup for the Key “Rohit” itself in
that node or linked list.
Thank you :)

Weitere ähnliche Inhalte

Was ist angesagt? (20)

Java Strings
Java StringsJava Strings
Java Strings
 
Java Collections Framework
Java Collections FrameworkJava Collections Framework
Java Collections Framework
 
Collections framework in java
Collections framework in javaCollections framework in java
Collections framework in java
 
Java 8 Lambda Expressions
Java 8 Lambda ExpressionsJava 8 Lambda Expressions
Java 8 Lambda Expressions
 
Generics
GenericsGenerics
Generics
 
This keyword in java
This keyword in javaThis keyword in java
This keyword in java
 
Java collections concept
Java collections conceptJava collections concept
Java collections concept
 
Collections - Maps
Collections - Maps Collections - Maps
Collections - Maps
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
 
Introduction to Spring Boot
Introduction to Spring BootIntroduction to Spring Boot
Introduction to Spring Boot
 
Java collections notes
Java collections notesJava collections notes
Java collections notes
 
Java Collection framework
Java Collection frameworkJava Collection framework
Java Collection framework
 
JDBC – Java Database Connectivity
JDBC – Java Database ConnectivityJDBC – Java Database Connectivity
JDBC – Java Database Connectivity
 
5 collection framework
5 collection framework5 collection framework
5 collection framework
 
Chapter 3 servlet & jsp
Chapter 3 servlet & jspChapter 3 servlet & jsp
Chapter 3 servlet & jsp
 
Jdbc ppt
Jdbc pptJdbc ppt
Jdbc ppt
 
Spring Core
Spring CoreSpring Core
Spring Core
 
Spring annotation
Spring annotationSpring annotation
Spring annotation
 
JDBC
JDBCJDBC
JDBC
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 

Ähnlich wie How Hashmap works internally in java

Presentation.pptx
Presentation.pptxPresentation.pptx
Presentation.pptxAgonySingh
 
Data Structure and Algorithms: What is Hash Table ppt
Data Structure and Algorithms: What is Hash Table pptData Structure and Algorithms: What is Hash Table ppt
Data Structure and Algorithms: What is Hash Table pptJUSTFUN40
 
Data Structures : hashing (1)
Data Structures : hashing (1)Data Structures : hashing (1)
Data Structures : hashing (1)Home
 
Hashing.pptx
Hashing.pptxHashing.pptx
Hashing.pptxkratika64
 
Chapter 10: hashing data structure
Chapter 10:  hashing data structureChapter 10:  hashing data structure
Chapter 10: hashing data structureMahmoud Alfarra
 
18 hashing
18 hashing18 hashing
18 hashingdeonnash
 
Sienna 9 hashing
Sienna 9 hashingSienna 9 hashing
Sienna 9 hashingchidabdu
 
Cryptography - Simplified - Hash Functions
Cryptography - Simplified - Hash FunctionsCryptography - Simplified - Hash Functions
Cryptography - Simplified - Hash FunctionsAbdul Manaf Vellakodath
 
Hash table in java
Hash table in javaHash table in java
Hash table in javasiriindian
 
unit-1-dsa-hashing-2022_compressed-1-converted.pptx
unit-1-dsa-hashing-2022_compressed-1-converted.pptxunit-1-dsa-hashing-2022_compressed-1-converted.pptx
unit-1-dsa-hashing-2022_compressed-1-converted.pptxBabaShaikh3
 
Algorithms notes tutorials duniya
Algorithms notes   tutorials duniyaAlgorithms notes   tutorials duniya
Algorithms notes tutorials duniyaTutorialsDuniya.com
 
Hashing and separate chain
Hashing and separate chainHashing and separate chain
Hashing and separate chainVijayapriyaPandi
 

Ähnlich wie How Hashmap works internally in java (20)

Presentation.pptx
Presentation.pptxPresentation.pptx
Presentation.pptx
 
Hashing data
Hashing dataHashing data
Hashing data
 
Data Structure and Algorithms: What is Hash Table ppt
Data Structure and Algorithms: What is Hash Table pptData Structure and Algorithms: What is Hash Table ppt
Data Structure and Algorithms: What is Hash Table ppt
 
Data Structures : hashing (1)
Data Structures : hashing (1)Data Structures : hashing (1)
Data Structures : hashing (1)
 
Hash table
Hash tableHash table
Hash table
 
Hashing.pptx
Hashing.pptxHashing.pptx
Hashing.pptx
 
Chapter 10: hashing data structure
Chapter 10:  hashing data structureChapter 10:  hashing data structure
Chapter 10: hashing data structure
 
18 hashing
18 hashing18 hashing
18 hashing
 
Sienna 9 hashing
Sienna 9 hashingSienna 9 hashing
Sienna 9 hashing
 
Cryptography - Simplified - Hash Functions
Cryptography - Simplified - Hash FunctionsCryptography - Simplified - Hash Functions
Cryptography - Simplified - Hash Functions
 
Hash table in java
Hash table in javaHash table in java
Hash table in java
 
unit-1-dsa-hashing-2022_compressed-1-converted.pptx
unit-1-dsa-hashing-2022_compressed-1-converted.pptxunit-1-dsa-hashing-2022_compressed-1-converted.pptx
unit-1-dsa-hashing-2022_compressed-1-converted.pptx
 
Lecture notesmap
Lecture notesmapLecture notesmap
Lecture notesmap
 
Hashing 1
Hashing 1Hashing 1
Hashing 1
 
linear probing
linear probinglinear probing
linear probing
 
Algorithms notes tutorials duniya
Algorithms notes   tutorials duniyaAlgorithms notes   tutorials duniya
Algorithms notes tutorials duniya
 
Hashing
HashingHashing
Hashing
 
DS THEORY 35.pptx
DS THEORY 35.pptxDS THEORY 35.pptx
DS THEORY 35.pptx
 
Hash pre
Hash preHash pre
Hash pre
 
Hashing and separate chain
Hashing and separate chainHashing and separate chain
Hashing and separate chain
 

Kürzlich hochgeladen

All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Nikki Chapple
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneUiPathCommunity
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - AvrilIvanti
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 

Kürzlich hochgeladen (20)

All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyone
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Français Patch Tuesday - Avril
Français Patch Tuesday - AvrilFrançais Patch Tuesday - Avril
Français Patch Tuesday - Avril
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 

How Hashmap works internally in java

  • 2. Introduction HashMap is a part of Java’s collection since Java 1.2. It provides the basic implementation of Map interface of Java. It stores the data in (Key, Value) pairs.
  • 3. Equals and hashcode methods In order to understand the internal working of HashMap, we must be aware of hashcode and equals method. equals(Object otherObject) – As method name suggests, it is used to simply verify the equality of two objects. hashcode() – is a integer code generated for any variable/object after applying a formula/algorithm on its properties. The hash code for a String object is computed as s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1], where s[i] is the ith character of the string, n is the length of the string.
  • 4. What’s the output? public static void main(String[] args) { String s1 = "Compassites"; String s2 = "Software"; System.out.println( s1.equals(s2) ); System.out.println("Compassites " + s1.hashCode() ); System.out.println("Ea " + s2.hashCode() ); } It Produces the following output. false Compassites hashCode: 1297712907 Software hasCode: 1383974343
  • 5. What about this? public static void main(String[] args) { String s1 = "FB"; String s2 = "Ea"; System.out.println( s1.equals(s2) ); System.out.println("FB hashcode " + s1.hashCode() ); System.out.println("Ea hashcode " + s2.hashCode() ); }
  • 6. What about this? public static void main(String[] args) { String s1 = "FB"; String s2 = "Ea"; System.out.println( s1.equals(s2) ); System.out.println("Compassites " + s1.hashCode() ); System.out.println("Ea " + s2.hashCode() ); } It Produces the following output. false FB hashcode 2236 Ea hashcode 2236 You can see that the hashcodes are same for “FB” and “Ea”. So we can conclude that...
  • 7. Two Rules: 1. If two objects are equal then they must have the same hashcode. (hascode of “aa” and “aa” are same) 2. If two objects have the same hashcode, they may or may not be equal. (string “FB” has hashcode 2236 and “Ea” has hashcode 2236 bu they are not equal) To make it 2nd point clear, we can say that “Birthday as HashCode”
  • 8. Now that we are aware of Hashcode and Equals method, let’s learn the internal working of Hashmap
  • 9. Hashing? HashMap is known as HashMap because it uses a technique called Hashing. Hashing is a technique of converting a large String to small String that represents same String. A shorter value helps in indexing and faster searches.
  • 10. Internally HashMap contains an array of Node and a node is represented as a class which contains 4 fields : It can be seen that node is containing a reference of its own object. So it’s a linked list. Hashmap:
  • 11. Few Terms... Buckets : A bucket is one element of HashMap array. It is used to store nodes. Two or more nodes can have the same bucket. In that case link list structure is used to connect the nodes. Load Factor is a measure, which decides when exactly to increase the hashmap capacity(buckets). HashMap() : It is the default constructor which creates an instance of HashMap with initial capacity 16 and load factor of 0.75. (meaning capacity is doubled when 75% of hashmap is filled) HashMap(int initialCapacity, float loadFactor) : It creates a HashMap instance with specified initial capacity and specified load factor.
  • 12. .
  • 13. Put Operation in HashMap: Say our program is something like this HashMap<String, Integer> map = new HashMap<>(); scores.put (“Rohit”, 140); scores.put (“Dinesh”, 70); scores.put (“Dhoni”, 90); scores.put (“Kholi”, 100); scores.put (“Sachin”, 150); scores.put (“Dravid”, 130); Let’s see what is happening internally...
  • 14. Initially Empty hashMap: Here, the hashmap’s size is 16.(default hashmapsize) HashMap map = new HashMap();
  • 15. Inserting Key-Value Pair: Let us understand at which location below key value pair will be saved into HashMap. scores.put (“Rohit”, 140); When you call the put function then it computes the hash code of the Key. Lets suppose the Hash code of (“Rohit”) is 2657860. Our array has an index till 15, so in order to store “Rohit”, we have to calculate index using a modular operation Index = 2657860 % 16 => 4 Index = 4, So 4 is the computed bucket index value where the entry will sit as a node in the HashMap.
  • 16.
  • 17. Hash Collision Let us understand at which location below key value pair will be saved into HashMap. scores.put (“Dhoni”, 90); When you call the put function then it computes the hash code of the Key. Lets suppose the Hash code of (“Dhoni”) is 63281940. Our array has an index till 15, so in order to store “Rohit”, we have to calculate index using a modular operation Index = 63281940 % 16 => 4
  • 18.
  • 19. Get Operation in HashMap: int rohitScore = scores.get (“Rohit”); So get operation does the same as that of put operation. When the get function is called it basically gets the hash code of the Key. Lets suppose Hash of (“Rohit”) is 2657860 Index = 2657860 % 16 => 4 Now hashMap lookups at bucket index 4 for the hash code of the key “2657860”. Hash code “2657860” found then it lookup for the Key “Rohit” itself in that node or linked list.