Internal Working and implementation of hashmap and hashset | Java Interview Questions | Code Decode

Поділитися
Вставка
  • Опубліковано 23 січ 2025

КОМЕНТАРІ • 155

  • @rahulagrawal3675
    @rahulagrawal3675 3 роки тому +16

    Really liked the idea of explaining through slides also.
    And thanks for explaining the functionality for Java 7 and Java 8 separately; insightful indeed.

  • @vijayavinayaktandur9599
    @vijayavinayaktandur9599 2 роки тому +5

    Thank you so much @code decode guys for your support. I cleared multiple interviews with your valuable videos. Hats off

    • @CodeDecode
      @CodeDecode  2 роки тому

      thanks and all best Vijay for your future

  • @sanyasee17
    @sanyasee17 3 роки тому +4

    The Best Video to understand Internal working of HashMap. Thanks a lot ❤

  • @shreyashachoudhary480
    @shreyashachoudhary480 2 роки тому +1

    Best video I've ever seen about HashMap's working!

  • @smitchaudhari9783
    @smitchaudhari9783 2 роки тому +3

    This channel is underrated! Great work.

  • @ssbunny111
    @ssbunny111 2 роки тому +2

    Hi Mam, All you videos are excellent and very helpful to clear interviews. Your are doing this video at 1 AM... Hatsoff to your dedication

    • @CodeDecode
      @CodeDecode  2 роки тому +2

      Thanks a lot 🙂🙂. Yeah that's when we get spare time after office ends 😃. We all are working IT professionals. Btw nice observation 👏👏

  • @rajatgoyal2812
    @rajatgoyal2812 Рік тому +1

    I was searching for this type of video for a long time.
    This video is very informative and helped me better understand the concepts.
    Thanks for sharing such insightful content.

  • @DevanshuKumar-o5r
    @DevanshuKumar-o5r Рік тому +1

    You delivered a nice explanation. It was needed for interview because it is important. I found this video and it helped me out. Thanks.

  • @praphulyadav4471
    @praphulyadav4471 2 місяці тому

    I am really thankful for your videos I just wanted to share that Hashcode is not the parameter for branching in the collision. When a HashMap in Java (Java 8 and later) encounters a bucket with many collisions, it may convert the linked list of entries in that bucket into a balanced tree (specifically a red-black tree). However, the hash code itself is not directly used as the branching variable in the tree; instead, the key's natural ordering or a comparator (if provided) is used to maintain order.

  • @shekhar_sahu
    @shekhar_sahu 2 роки тому +3

    Thank you for taking us through the source code of these classes. I used to be afraid of checking such files. But this is how we get to learn good coding practice also.

    • @CodeDecode
      @CodeDecode  2 роки тому

      Very true Shekhar. Very glad to see u are going through them. 👏👏👏

  • @ArunSharma-hu4td
    @ArunSharma-hu4td 3 роки тому +1

    Excellent explanation of internals of hashmap as well as hasheet with proper proof

  • @saivamsi4811
    @saivamsi4811 3 роки тому +4

    Hi Mam! You are helping us a lot. Please keep teaching like this And also if possible please make a complete session on Collections frame work end to end. There are many tutorials on youtube, but nobody can teach us the way you do. I found your tutorials very helpful and easiest way to understand.

    • @CodeDecode
      @CodeDecode  3 роки тому

      Sure Sai. Thanks a ton for the nice words. We do have videos on collection framwork. Can u plz tell what all topics u need apart from what are uploaded.

    • @saivamsi4811
      @saivamsi4811 3 роки тому

      @@CodeDecode Linked List, Stack, Vector, HashSet Vs LinkedHashSet Vs TreeSet..Thanks in Advance..

  • @raghuakuthota4900
    @raghuakuthota4900 3 роки тому +3

    Too good of explanation :) thanks lot - great work - keep going

  • @anison1111
    @anison1111 Рік тому +1

    Simple and accurate explaination - good job

  • @akankshasinha3352
    @akankshasinha3352 2 роки тому +1

    Thankyou so much dear❤ your videos are good to go for interview topics.. crisp and perfect .. Interviewer bhi khush hojaye😂

    • @CodeDecode
      @CodeDecode  2 роки тому

      Haha Thanks a lot Akanksha🙂🙂 and we will be happy when u land at awesome job Girl ❤❤. Keep learning keep rocking girl 🎊🎊👍👍👍👍🎂

  • @divyavegoti4609
    @divyavegoti4609 3 роки тому +1

    Have been checking all your videos..Inspiring work and content!!!

  • @kaushalchandra9824
    @kaushalchandra9824 6 місяців тому

    Thanks Mam for such à deep knowledge. God Bless you. Keep posting 🎉

  • @akashkarn8429
    @akashkarn8429 2 роки тому

    After finding such great videos, I am feeling blessed :D Thanks a lot !

    • @akashkarn8429
      @akashkarn8429 2 роки тому +1

      This is pure Quality Content !!

    • @CodeDecode
      @CodeDecode  2 роки тому

      Thanks a lot Akash 🙂👍

  • @GauravSharma-up9gs
    @GauravSharma-up9gs 3 роки тому +1

    Thanks, Your channel is very helpful...

    • @CodeDecode
      @CodeDecode  3 роки тому

      Thanks a ton Gaurav. It means a lot 👍🙂🙂👍

  • @sandiyr1989
    @sandiyr1989 Рік тому

    you r an amazing teacher..

  • @aswinkumar6796
    @aswinkumar6796 10 місяців тому +1

    Hi
    I have one doubt
    In bucket, all elements with same hascode only?
    Is it possible, different hashcodes in same bucket as you mentioned in video@13:59?

    • @anisha9709
      @anisha9709 6 місяців тому

      I guess it should be when 2 keys that are different but having same hashcode?

  • @vinayuddagiri
    @vinayuddagiri 3 роки тому +1

    Very good Explanation.

  • @abhishekjain6559
    @abhishekjain6559 3 роки тому +1

    Nice explanation.. Great help .. thanks

  • @maartensnels3804
    @maartensnels3804 3 роки тому +1

    Keep up the good work!

  • @salmanpatel2968
    @salmanpatel2968 2 роки тому +1

    nice explanation keep it up we will support you and my request to you please make a video on time complexity and space complexity

    • @CodeDecode
      @CodeDecode  2 роки тому +1

      Yeah that's s tough one to understand. We will create video on that soon 👍👍

    • @salmanpatel2968
      @salmanpatel2968 2 роки тому

      @@CodeDecode thanks pl create on that topic

  • @krishnarohit3166
    @krishnarohit3166 3 роки тому +1

    Awesome Explanation

  • @aniketkalamkar227
    @aniketkalamkar227 3 роки тому +3

    Wonderful video explaining exactly what changed with Java8. Can you please create one for ConcurrentHashMap as well

    • @CodeDecode
      @CodeDecode  3 роки тому

      Thanks 🙂Sure Aniket 🙂👍

  • @aneelakar400
    @aneelakar400 3 роки тому +1

    Great explanation Mam.

  • @shivamanand9836
    @shivamanand9836 Рік тому +1

    13:32 “while converting the list to binary hashcode is used as branching variable” - couldn’t get this part as hashcode is same then they are getting converted to linked list and then equals method is being used to add the values in the linked list. So the question is if it has reached a certain threshold and then how different values of hashcode can come to get converted into tree?

    • @tanmoyroy6041
      @tanmoyroy6041 Місяць тому

      Initial hashcode generated from the hashcode() method is different for the nodes in a bucket. The initial hashcode is converted into an index after going through a 2nd hash function, and this index is the index of the bucket, this index is same for all the nodes in a bucket. Let me know if you are not able to understand what I said.

  • @anonymousxyz3856
    @anonymousxyz3856 2 роки тому +1

    excellent explanation

  • @dipalihafiz9983
    @dipalihafiz9983 Місяць тому

    where does initial capacity and load factor tie into this?
    Thanks for explaination, need to rewatch

  • @shashwatidash8524
    @shashwatidash8524 8 місяців тому +1

    I have a doubt if anyone could help. Since all entries within a bucket index have the same hash code (due to being placed in the same bucket), how can the hash code determine an Entry object's placement to left or right. Instead, the Comparable interface or custom comparator only will be used to maintain the ordering within the binary tree. Am I getting it right? Since not the whole bucket is changed to a Binary tree, only a particular bucket index is!

    • @chinmayd4093
      @chinmayd4093 7 місяців тому

      @shashwatidash8524 as per my understanding, the first element(for particular bucket) which you will be adding , will be acting as root node of that tree.

  • @RANDOMGAMER-nq6jf
    @RANDOMGAMER-nq6jf Рік тому

    14:29 im having doubt on why there will be different hashcodes in same bucket??

    • @chiragshah9171
      @chiragshah9171 Рік тому

      Yea.. same doubt. Linked list gets created when there is hash collision then how can be there different hash code values

  • @sreejak6776
    @sreejak6776 3 роки тому +2

    Thankyou for the video mam

  • @mahi2082
    @mahi2082 Рік тому +1

    Nice explanation

  • @rajatgoyal2812
    @rajatgoyal2812 Рік тому

    At 14:12 you mentioned that in tree the main comparison will be on the basis of hashcode, But in a bucket when there are several entries and all of them have same hashCode then how are we comparing on the basis of hashCode.

  • @reshusinghal8298
    @reshusinghal8298 2 роки тому

    Ur videos are too good to prepare for interview. I have a question here. Whe linked list is converted into binary tree then which hash code is used to determine the left or right node? As per my understanding hash code of all keys is same because of which collision is happening so now which hash code to use for node calculation?

  • @jeebamvarghese3542
    @jeebamvarghese3542 3 роки тому +1

    Great explanation

  • @vaibhavjain8939
    @vaibhavjain8939 2 роки тому +1

    Next Level

    • @CodeDecode
      @CodeDecode  2 роки тому

      Thanks Vaibhav 🙂🙂👍👍

  • @vndprasadgrandhi7024
    @vndprasadgrandhi7024 3 роки тому +3

    Thank you very much.. Could you please do if possible tree set and tree map

    • @CodeDecode
      @CodeDecode  3 роки тому +1

      Nice topic. Sure we will do that

  • @vickybhoir3017
    @vickybhoir3017 8 місяців тому +1

    nice explaination

  • @yasirakhn
    @yasirakhn 2 роки тому +1

    The content is really great, explaining everything in details which makes the internal working of HashMap and HashSet very clear. However, I have one question. Do we need this understanding for programming in real projects as generally we need to use HashMaps and HashSets to store and retrieve collection data and can also iterate using iterators, or is this just for interview purpose ?

  • @rohitkapade1130
    @rohitkapade1130 2 роки тому

    14:29 in second point how come is this possible that in one bucket will have keys with different hashcode as we assigned bucket on basis of hashcode itself. I guess binary search tree is based upon keys.

    • @RANDOMGAMER-nq6jf
      @RANDOMGAMER-nq6jf Рік тому

      I'm also having the same doubt. The hashcode enters the bucket only if it is same and the keys are used to compare amongst the elements in that bucket. Im confused here..please explain here....

  • @ganeshahiwale4899
    @ganeshahiwale4899 Рік тому

    Really liked the explanation can you please create a telegram channel so that we can have communication and polling advantage and discuss our doubts

  • @phanimc11211
    @phanimc11211 Рік тому +1

    neatly explained what changed with Java8

  • @kamallochannayak2706
    @kamallochannayak2706 3 роки тому +1

    Great mam...

  • @rajyalakshmi3077
    @rajyalakshmi3077 3 роки тому +2

    Thanks! Could you please do a video of executor service future get and completablefuture from java
    how to handle if anyone executor service tasks takes too long

    • @CodeDecode
      @CodeDecode  3 роки тому

      Nice topics Rajya, we will surely put video on these

  • @chiragshah9171
    @chiragshah9171 Рік тому

    14:29 how can we have different hash values if there is hash collision, it's bit confusing there 😮

  • @amarthyaseshu683
    @amarthyaseshu683 3 роки тому +1

    Thanks for sharing!

  • @jerinxavier5380
    @jerinxavier5380 11 місяців тому

    How can we use hashcode to compare elements while adding to the binary tree. Unless the hashcode was the same we wouldn't push in the same bucket. Right.?

  • @satyajeethukkire6099
    @satyajeethukkire6099 Рік тому

    Maam, most of the comment section has the doubt of collision at 14:29 please explain the doubt, it is really confusing

  • @rasolutions8676
    @rasolutions8676 2 роки тому +1

    Dose Linked List in the bucket (specific index calculated after hashing) is going to convert to tree or is it the complete bucket is getting converted into tree
    a) if it is linked list at specific bucket index then how the hashcode less or greater then calculation will happen as per me at that point hashcode would be same for both element isn't it?
    b) if the complete bucket is getting converted into tree then why we are saying linked list will get convert to tree...if i heard right!
    🤔🤔🤔 Please help me understand the concept

  • @Sanjaykumar-nz4tf
    @Sanjaykumar-nz4tf Рік тому

    Hi Mam,
    I have a doubt in the put() method of hashmap..
    If the hashCode of few keys are same means all those will be stored inside same bucket in linked list format (if threshold is increased by 8 means it converts to balanced tree)
    * Right branch will be higher value of hashCode and left will be lower than that..
    My Doubt is all the variables present in same bucket will have same hashCode.. Then how they will be compared while storing in balanced tree?

    • @AshishKumar-vj7fq
      @AshishKumar-vj7fq Рік тому

      I also have the same doubt. How different hashcode can be present in same bucket because different objects will land on same bucket only when hashcode for them is same.

  • @arinbose6366
    @arinbose6366 3 роки тому +1

    Thanks but do you have video of say passing hashmap as parameter etc

    • @CodeDecode
      @CodeDecode  3 роки тому +1

      What do u need? M unable to understand the requirement. Can you plz elaborate?

    • @arinbose6366
      @arinbose6366 3 роки тому

      @@CodeDecode I was looking for below found it ,in future can you show some examples like say taking hashmap as parameter, taking hashmap returning list etc, no need for video you can post in github that would help, for you these might seem very simple and common task but for starters this would help a lot,thanks again for all your videos. // returning hashmap
      public HashMap asHashMap( K[] keys,V[] values ) {
      HashMap result = new HashMap();
      if (keys == null || values == null || keys.length != values.length )
      throw new IllegalArgumentException();
      for (int i =0; i

    • @arinbose6366
      @arinbose6366 3 роки тому

      @@CodeDecode I had just given a suggestion,otherwise learnt a lot from your video series 👍

  • @krishnan6201
    @krishnan6201 2 роки тому +1

    can you plz explain about memory allocation enhancement in 1.8 feature.

  • @simplegirl2218
    @simplegirl2218 3 роки тому +1

    Mam, please make a video on multi threading concepts..with basic and advanced ..

    • @CodeDecode
      @CodeDecode  3 роки тому +2

      ua-cam.com/play/PLyHJZXNdCXsdUXzeeBZIADof_U-40jBJO.html

  • @kanchankatkar5226
    @kanchankatkar5226 11 місяців тому

    If same hashcode is there then what will happen in binary tree fornat how key can be comparable will you give example, it's confusing for me

  • @vengateshm2122
    @vengateshm2122 3 роки тому +1

    Thank you!

  • @tejasnerkar1330
    @tejasnerkar1330 2 роки тому

    do you have link for all the presentation slides that we can access? It will be really helpful to go through it as a revision before interview.

  • @shivachanda2438
    @shivachanda2438 Рік тому

    Very good explanation, but I have a doubt: while explaining handling collisions in java8 nd above, u mentioned that if the hash code is same in a bucket, then we go with comparing keys , but collision is caused because of same code na, my doubt is all the entries in a bucket will having same hashcode ryt that is how they are placed in a bucket , keys may be different but hascode remains same based on hashcode only we are choosing the bucket na, please clear my doubt.

    • @CodeWithCB
      @CodeWithCB Рік тому

      All entries in a bucket may not have same hash value though they will have same index. Remember we first calculated hashcode which again converted to some hash value. This hash value is then mapped to some index. And this is the point where two different hash values may result in same index. So while doing get operation first hash values are equated and then keys are equated.

    • @shivachanda2438
      @shivachanda2438 Рік тому

      @@CodeWithCB sry what do u mean by hash code and hash value both are same ryt , for a given key we will find hashcode , what is hash value. I didn't get u, please elaborate

    • @CodeWithCB
      @CodeWithCB Рік тому +1

      @@shivachanda2438 internal implementation of Hashmap frist calculates hashcode of key as per hashcode() given for key object. Then internally it converts this hashcode to hashvalue h using formula (h = key.hashCode()) ^ (h >>> 16) . This is done to spread keys across the array causing less collisions. And this hashvalue is used further to find actual index using formula index = (n - 1) & hash.

  • @kudumulasivaramakrishnared6379
    @kudumulasivaramakrishnared6379 3 роки тому +1

    Please continue all data structures (linear,non linear in graphs, hash table)

  • @kanikanarwat826
    @kanikanarwat826 2 роки тому

    Hi what will happen if we have overriden equals method but it always returns true.

    • @MHK958
      @MHK958 2 роки тому

      Just do it in eclipse, if equal returns true every time then i think hashmap will store only 1 key if same has code come

  • @suvch5842
    @suvch5842 3 роки тому

    Do you have any java course from beginner level to advanced in Core to Advanced java

  • @hackstreet781
    @hackstreet781 2 роки тому +1

    From where do you learn Java ? I also want to read from there.

    • @CodeDecode
      @CodeDecode  2 роки тому +1

      Mostly docs helps us a lot in understanding the concepts

  • @noorahameds8
    @noorahameds8 Рік тому

    How will it work if the value is a list
    Map m = new hashmap();

  • @sravanreddyreddy3562
    @sravanreddyreddy3562 Рік тому +4

    Just a feedback - There is too much of juggling btw screens...

    • @CodeDecode
      @CodeDecode  Рік тому +1

      Understood. We will try to reduce it. 👍👍

  • @arulantony2137
    @arulantony2137 3 роки тому +1

    traversing linked list and tree logn and O(n) then how hashmap complexity isO(1) ?

    • @CodeDecode
      @CodeDecode  3 роки тому +1

      It's said best case complexity o(1) worst case o(logn)

  • @rahulingole4923
    @rahulingole4923 8 місяців тому +1

    still usefull video

  • @lakshmaiahyannagiri291
    @lakshmaiahyannagiri291 2 роки тому +1

    please share the document of this class

    • @CodeDecode
      @CodeDecode  2 роки тому +1

      Which document are you asking for Lakshmaiah?

  • @djinthemix33
    @djinthemix33 5 місяців тому

    I hope to be that fortunate winner...
    Plz Like✓ SHARE✓ SUBSCRIBE✓

  • @9-1939
    @9-1939 11 місяців тому +1

    👌👌👏👏👏🙏

  • @prasadsatpute5197
    @prasadsatpute5197 8 місяців тому +1

    Didi please please please please Me and You not going anywhere.
    If we learn well or quickly, it does not mean that you speak so fast.
    Please explain with some breath at normal speed or read calmly bs itna kahen hai please mam please

  • @PankajPatil-kw9ic
    @PankajPatil-kw9ic 6 місяців тому

    1:27 Explain slowly

  • @malaiarasi4400
    @malaiarasi4400 3 роки тому +1

    Hashmap concept was awesome.. Hashset is not much clear.

    • @CodeDecode
      @CodeDecode  3 роки тому +1

      How can we help Malai? What is unclear can u plz tell us so that we can clarify that to u?

    • @malaiarasi4400
      @malaiarasi4400 3 роки тому +1

      Mam i went through the video again now it's clear. Thanks

    • @CodeDecode
      @CodeDecode  3 роки тому +1

      Awesome Malai 🙂👍

  • @BaluKompalli
    @BaluKompalli 2 роки тому +1

    Explanation fine but i am unable to catch that flow. Listened more than 3times. Little bit confusion. Could you please explain in less technical way. Atleast one simple example

    • @CodeDecode
      @CodeDecode  2 роки тому

      Sure we will do that👍👍

    • @BaluKompalli
      @BaluKompalli 2 роки тому

      @@CodeDecode I listened in very slow motion and put a diagram in a paper. Then i understood the concept. I think it is fine for me. No need to do any other video with examples. Another thing is , I tried to donate thank you, but not redirecting to payment page. Will check and update you again.

  • @amitmapari393
    @amitmapari393 Рік тому +2

    Bad explanation

    • @CodeDecode
      @CodeDecode  Рік тому

      Hi Amit. Can you please suggest what went Wrong ? We will try to rectify the issue you faced

  • @saaii9
    @saaii9 Рік тому +1

    Hi mam can I know your name

    • @CodeDecode
      @CodeDecode  Рік тому

      Hello. You can call us team code Decode ❤️. Happy to be connected 🙂

  • @koushikpan1320
    @koushikpan1320 2 роки тому +1

    why is your voice shivering. Looks like you are worried of something. 👀

    • @CodeDecode
      @CodeDecode  2 роки тому

      It might be cold here or mic u
      Issues. Not sure. We will check 🙂👍

  • @suhilirshad
    @suhilirshad 6 місяців тому

    very confusing explaination . please make it short and understandable for interview pont of view purpose

  • @akshayaggarwal6364
    @akshayaggarwal6364 2 роки тому

    it was bit confusing

  • @siva-m2t7o
    @siva-m2t7o 7 місяців тому

    Vest fello

  • @MHK958
    @MHK958 2 роки тому +1

    Awesome explanation

  • @vickybhoir3017
    @vickybhoir3017 8 місяців тому +1

    nice explaination