КОМЕНТАРІ •

  • @RickGladwin
    @RickGladwin 4 роки тому +449

    For anyone confused about how the index value is calculated: the “&” operator is a “bitwise AND” operator.
    When it is used, both its operands (the numbers before and after the operator) are converted to binary, and a bitwise “and” is performed on each pair of matching place values in both binary numbers. This results in a new binary number. For example:
    12 & 5 = 4, since
    1100 &
    0101 =
    0100
    And also
    2306996 & 15 = 4, since
    1000110011001110110100 &
    0000000000000000001111 =
    0000000000000000000100

  • @manishsoni7689
    @manishsoni7689 3 роки тому +118

    I think I will add one more point at 7:50,
    When you call put() for the element having the same index or hashcode() it calls equals() method as well to compare the key. If it's same then it will overwrite the previous element and if not then append to the next node.
    This part is very important because once I was asked what will happen if you only implement hashcode() and not equals() or vice versa.

    • @mohsensm7438
      @mohsensm7438 3 роки тому +6

      This point is very necessary to complete this good video.

    • @PavanKumar-yj8fu
      @PavanKumar-yj8fu 2 роки тому +2

      Very good point, thanks

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

      Would this mean that without the equals() method call, a HashMap could erroneously overwrite both Key and Value at the same time?

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

      @@ArkAngelHFB no, it doesn't make sense to overwrite the key, because its already in the array. Instead, the value is overwritten, because the hashmap doesn't tolerate duplicates. This can be also tricky when we deal with children nodes, for instance with one-to-many relationship. Sometimes one's better of to override children's hashcode() based on their class only, so that all children (objects of the same class) have the same hash code.

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

      @@dmitrikonnov922 But without the equals() call, wouldn't it just assume that since it shared the same hash, it WAS the same key and overwrite it?

  • @sent2anil
    @sent2anil 8 років тому +55

    This is the best tutorial I found for "How HashMap works"! Demo using animation is remarkable :)

  • @madhugali
    @madhugali 8 років тому +139

    I'd like to add a point to the wonderful explanation of HashMap implementation
    When HashMap reaches its threshold limit of .75 or 75% it re-size by creating a new array of double the previous size HashMap, and then start putting every old element into that new bucket array and this is called rehashing and it also applies hash function to find new bucket location.

    • @satishpatil115
      @satishpatil115 6 років тому +2

      for any object the index will be 0 to (n-1) when we take mod of (n-1), then why we need to re-index or it re-sizes ???

    • @ayushjindal4981
      @ayushjindal4981 6 років тому +8

      we need to do it so that get and put operations can be done in O(1). if we dont do it, the size of linked lists would keep on increasing and would eventually increase the cost of operations.

    • @vishalkumargupta7986
      @vishalkumargupta7986 5 років тому

      It does not take double size but size equal to next power of 2.

    • @v0nnyboy
      @v0nnyboy 5 років тому +2

      You're implicitly stating that it's double ... as a previous power of 2 ( 2^4) is being multiplied by 2 .

    • @ayushman_sr
      @ayushman_sr 5 років тому +2

      this was important part... yet nit covered

  • @shyamalmunshi
    @shyamalmunshi 8 років тому +33

    This is probably the best explanation of Hashmap I've come across! Kudos to you!

  • @VinodKumar-ng3kc
    @VinodKumar-ng3kc 5 років тому +7

    People who has disliked, what are you guys expecting ? This is just perfect explanation!!

    • @javatmz
      @javatmz 5 років тому +1

      :) right

  • @Tanga-ou5im
    @Tanga-ou5im 11 днів тому

    Best explanation. Perfect

  • @condor1016
    @condor1016 8 років тому +11

    This HAS to be one of the finest tutorials I have ever seen. The use of the animation was extremely well thought out and makes the subject so clear even a non-developer should understand it! Very well done! Thanks for your efforts Ranjith.

  • @areyoucerealtube
    @areyoucerealtube 7 років тому +11

    Right on my dude. I've been struggling with one specific piece of the implementation (what we do with the hash code), but this video explains it perfectly. Thank you!!

  • @ranjithramachandran5928
    @ranjithramachandran5928 9 років тому +74

    HashMap working animation + enhancements for HashMap in Java8 - check out! If you liked, please leave a comment!

    • @chilltouchng
      @chilltouchng 8 років тому +3

      +Ranjith ramachandran Really good! This is the best tutorial about "How HashMap works"!

    • @ChandrakanthReddySoodiReddy
      @ChandrakanthReddySoodiReddy 8 років тому

      Very Helpful video on HashMaps. I actually understood how Look up works. Thank you...

    • @atulkumar-hm6yo
      @atulkumar-hm6yo 7 років тому +4

      Sir,Please share how Hashcode made...!!!!

    • @satyaprakashnayak1363
      @satyaprakashnayak1363 7 років тому

      Very wonderful tutorial....Can you please also explain in animation How ConcurrentHashMap and ConcurrentLinkedQueue works?

    • @kinjalthehero
      @kinjalthehero 7 років тому

      Thank you

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

    my friend, I wish i saw this 3 days ago....
    I didnt learn anything new because I have been studying hashMaps pretty aggressively the last 3 days, but my life would have been A BILLION TIMES BETTER if i found your video first. Beautifully detailed and easy to understand!
    TO BEGINNERS, THIS IS THE BEST INTRO TO HASHMAP VIDEO ON UA-cam!

  • @anuraag3103
    @anuraag3103 6 років тому +1

    This is the best explanation available in youtube for Hashmap...!!

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

    Holy shit I was confused about hash tables for so long and this video simplified in such a nice way.

  •  8 років тому +7

    Excellent job @Ranjith ramachandran! Keep doing it!

  • @saruncse85
    @saruncse85 7 років тому +8

    I was looking for a good explanation for a long time, and I found today. Thanks, Ranjith.

  • @ashrafs965
    @ashrafs965 4 роки тому +2

    It's really sad that you aren't posting videos anymore. you have such great talent in teaching and you were a valuable resource on youtube.

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

    Great explanation. The only point I feel missed was when two keys have the same hashcode the Node actually overrides the original nodes and doesn't get appended to the Linked list. Your run case could have included this scenario.

  • @RiteshPuj
    @RiteshPuj 8 років тому +3

    I learned a lot about Hashmap from this video. Thanks a lot Ranjith, you have did a great job. :)

  • @ravisahu3395
    @ravisahu3395 8 років тому

    Great explanation about hashing and collisions...

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

    HashMaps finally demystified. Thank you very much

  • @SagarAnkitaUpdates
    @SagarAnkitaUpdates 4 роки тому +7

    This is the best video that I have seen by now, however its sad that you have stopped posting now

  • @yuyuejiang3278
    @yuyuejiang3278 8 років тому +21

    This is an in-depth very well explained video! Thanks a lot!

    • @ranjithramachandran5928
      @ranjithramachandran5928 8 років тому +3

      Thanks!

    • @arvind143100
      @arvind143100 4 роки тому +2

      @@ranjithramachandran5928 Hi, Sir, I have a doubt, kindly explain plz.
      My "Eclipse IDE" showing two hash value for key "apple" (and for others key too), i.e, 93029210(index = 10) and 93030097(index = 1). According to formula it should be index=10, but it is placed at index= 1.
      Kindly, explain why we get two hash value for each key, and why its index is 1 and not 10. 🙏🙏🙏

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

      @@ranjithramachandran5928Hi sir Nice Explanation and I have a small doubt,
      could you please explain once,In MAP, If two Entries having same key and same hashcode??
      HashMap map=new HashMap();
      map.put("101","hdfc");
      System.out.println(map.put("101","sbi"));
      //Returning value is = hdfc
      //After iterating Map, and getValue() method returning = sbi
      Could you please explain why it's print 'sbi'',
      How about hashcode and equals method work in this case????

  • @sandeepsingh-de4fg
    @sandeepsingh-de4fg 4 роки тому

    Great explanation. If anybody want to know how HashMap internally works please watch this video once. Thanks for sharing such amazing video.

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

    Amazing explaination and animation!! Love it.

  • @shadabsheikh51
    @shadabsheikh51 8 років тому +9

    Hey Ranjith
    Very detailed and nicely animated work..It was easy to understand

  • @harshavardhan7
    @harshavardhan7 7 років тому +5

    Dude more videos please :) You are awesome :)

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

    Excellent explanation with example of how hashmap put and get method works internally.

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

    hands down this is the best video on how hashmap works internally. Thank you very much.

  • @RagPeddabudi
    @RagPeddabudi 8 років тому +8

    this is awesome explanation dude.. The best one for HashMap

  • @daikhostephen7288
    @daikhostephen7288 6 років тому +14

    Correction: Whenever there is collision, the new entry should added as the head of linked list, not tail.

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

      any references ?

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

      p.next = newNode(hash, key, value, null);

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

      Yes. Because the insertion will take O(1) time by inserting at head rather than tail.

  • @nsarvesh1012
    @nsarvesh1012 8 років тому +2

    Exceptional presentation of HashMap. Keep up the good work :)

  • @ronak212
    @ronak212 6 років тому +1

    This got to be the best explanation of Internal working of hasmap that I have ever seen.
    Thanks..!

  • @vincentkimt
    @vincentkimt 8 років тому +6

    Hi Ranjith,
    In the first put operation
    scores.put("KING",100). your index comes to 4.
    But according to index = hash % (n-1)
    it should be index = 2306996 % (16-1)
    this gives 11 and you calculated it as 4.
    However, if we put 'n' instead of 'n-1' we will get result as 4.
    So either the formula
    hash % (n-1) needs to be changed to hash % (n), if you are calculating indexes correctly
    or
    if the formula is already correct, your index must come out to be 11.
    need your comment on this. thanks

    • @ranjithramachandran5928
      @ranjithramachandran5928 8 років тому

      +Vincent Lal Please note the index is calculated as hash & (n-1) which is same as hash % n-1

    • @raju5081
      @raju5081 7 років тому

      it should be n only as the operation always outputs 0 to 15 which are indexes of the table 0 to 15.

    • @_Vaibs_
      @_Vaibs_ 6 років тому +3

      +Vincent Lal Wondering how you can calculate like that. Do it bitwise . 2306996=1000110011001110110100 , (n-1)=(16-1)=15= 1111 , 1000110011001110110100 AND 1111 = 0100 which in decimal is 4.

  • @yogeshvbk
    @yogeshvbk 8 років тому +3

    How hash(k) is calculated? Can you please explain..

    • @ranjithramachandran5928
      @ranjithramachandran5928 8 років тому +4

      +Yogesh Bhat - hash(k) in real implementation is done to address "poorly" implemented hashcode methods in classes, that will cause a bucket(or index) loaded with too many nodes(or in older terms entries). It basically spreads higher bits of actual hashcode to lower order. This is done because the modulo operation produces different results only based on lower order btis.(in base 10, think of numbers at 'ones' position)

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

    Really good explanation with the help of animation.

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

    Ranjith, You have Awesome teaching skill. Without any doubt , This is the best explanation of Hashmap . I experienced the same ease of my understanding regarding your garbage collection in Java explanation too. Cool.

  • @atulyadav21j
    @atulyadav21j 7 років тому +3

    During put operation, why did we need to compare the hashcode, only comparing the keys will work. Say for an instance two keys have a same hashcode, in that case comparing with hashcode takes you no where, you have to compare key. May be I am missing something, please correct me I am going somewhere wrong.

    • @etofok
      @etofok 7 років тому

      keys are objects, you'll need to run .equals(). integers are much faster to compare via "&"

    • @skullwise
      @skullwise 6 років тому

      I had asked the same question. :-)

  • @chaitu2037
    @chaitu2037 8 років тому +160

    Good explanation, but can you remove the recording of yourself, frankly it is a little disturbing to watch your head tilt frequently.

  • @gnanasekaranebinezar7199
    @gnanasekaranebinezar7199 6 років тому

    Splendid explanation with Animation. I have been using HashMap more than decade. Now, I got clarity how it works internally. Thanks for the commendable work!!!👏

  • @mirodma
    @mirodma 9 років тому +2

    Amazing approach!!
    Thanks a lot worked like a charm!!!

  • @jonkc3635
    @jonkc3635 7 років тому +80

    Your face is in the way of the slides. lol

  • @sangitdhanani2137
    @sangitdhanani2137 8 років тому +3

    dude stop coming back and forth in to the screen. Its distracting

  • @bikaspatro3329
    @bikaspatro3329 8 років тому

    Excellent demonstration of HashMap implementation!!

  • @ssbabu78
    @ssbabu78 7 років тому

    Great and useful information with clear explanation and awesome animation. Thank you.

  • @prakashpk6311
    @prakashpk6311 5 років тому +1

    Simply perfect ! Awesome explanation

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

    very lucid way to present the explanation, awesome, thanks alot.

  • @rohitmanchanda8412
    @rohitmanchanda8412 6 років тому

    Absolutely fantastic use of animation for presentation. understood in one shot. Thanks for taking the pain of wonderful preparation. excellent work!

  • @MikeAetherial
    @MikeAetherial 8 років тому +1

    This is the first explanation that has made sense to me! Its like an epiphany! Thank you!

  • @jinliu5928
    @jinliu5928 8 років тому +1

    Very good video! Thank you for your explanation.

  • @RakeshGajjar
    @RakeshGajjar 9 років тому +2

    Thanks man! I just learnt something from you! Please keep up the good work.

  • @rahulpatil8372
    @rahulpatil8372 8 років тому

    Very well explained, now i can easily visualize the Hashmap structure and the way how Key-Value stores.
    Thanks a lot :)

  • @bashachand8590
    @bashachand8590 5 років тому

    liked, subscribed and i can never forget hashmap implementation for life time now.

  • @arvindaggarwal
    @arvindaggarwal 8 років тому +1

    Quite awesome..... presentation with nice crystal-clear language.....so nice....so much helpful.....I was so confused from last 4-5 years.....but today its remove all deadlocks of confusions and misunderstanding about hashmap's Internals......

  • @alenka7891
    @alenka7891 6 років тому +1

    I like when I can see the lecturer on the screen. Good explanation, this is what important in here

  • @timadeshola
    @timadeshola 7 років тому +1

    Nice video, very engaging and loaded. Kuddos

  • @srikanthvalluri1956
    @srikanthvalluri1956 8 років тому

    very well explained .. Thanks for sharing!

  • @kalyanhr
    @kalyanhr 6 років тому

    very well explained. Thanks for the video!!

  • @clyt9636
    @clyt9636 7 років тому

    so well explained!!! implementation details and the class heirarchy in just 15 minutes! You're a great teacher

  • @jiezou7297
    @jiezou7297 8 років тому +2

    Thank you very much for the work. Explanation is clear and animation is very good!

  • @taoufik.jabbari
    @taoufik.jabbari 7 років тому

    This is the best tutorial i've ever seen for understanding HashMap thanks a lot !
    From Morocco

  • @FlexerPivot
    @FlexerPivot 5 років тому +1

    Amazing, thank you for this bro.

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

    One of the best resource on HashMap. Really stunning !!!

  • @gauravsahu90
    @gauravsahu90 8 років тому +1

    Very nicely Explained..Kudos to you (Y)

  • @mukulanand181
    @mukulanand181 8 років тому

    Awesome!! Really enjoyed watching it so much! Thank you!

  • @dillipkumarnayak786
    @dillipkumarnayak786 7 років тому

    Very Nice explanations Sir thanks a lot... for sharing

  • @DeepakPandey-lz3hy
    @DeepakPandey-lz3hy 8 років тому +1

    Superb explanation Sir, keep it up and keep aspirants enhance their skills.

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

    So helpful and explained in a very simple way

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

    Nicely explained! Thanks, keep creating !!

  • @mandy1339
    @mandy1339 5 років тому +2

    Thank you!! Excellent video

  • @TheN0odles
    @TheN0odles 8 років тому

    Excellent. Thanks for posting.

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

    Best explanation from all videos I looked on yt.

  • @nishikanttayade7446
    @nishikanttayade7446 6 років тому

    this is THE BEST EXPLANATION of HashMap...thanks

  • @shikher123yo
    @shikher123yo 8 років тому

    perfect video to learn how hashmap works in a very short time.

  • @reenalparmar540
    @reenalparmar540 6 років тому

    Very Good Explanation for Hashmap implementation..Thank you...

  • @irynasherepot9882
    @irynasherepot9882 4 роки тому

    Wow, this is the best tutorial about itHashMap on UA-cam!

  • @Jithu0013
    @Jithu0013 4 роки тому

    Best video i have ever found in you tube regarding implementation of hash map .Described it clearly

  • @chanakakasun9468
    @chanakakasun9468 4 роки тому

    Recommended video
    Simply explain how it happens well done

  • @njavier85
    @njavier85 5 років тому

    Great video, this is the best video Ive seen explainig how hashmap works, thanks!!!!

  • @raazeev1
    @raazeev1 6 років тому

    The animations help remember things.. Kudos...!! Thanks

  • @wtfsamq
    @wtfsamq 7 років тому

    Fantastic video, thanks a lot - very clear!
    It's nice to have the little inserted video of you as well, somehow it helps to improve focus throughout the video

  • @rs6262
    @rs6262 6 років тому

    Nice presentation with animation. Thank you...

  • @ArdhenduShekharSingh1508
    @ArdhenduShekharSingh1508 8 років тому

    Thanks Ranjith for tutorial. After referring to tutorial I visited the actual source code of Hashmap and now its pretty much clear about the functioning of put and get method and also about resizing of the table size when it reaches the threshold.

  • @InnerInvocaction
    @InnerInvocaction 8 років тому

    I really like visual explanation, Appreciate you and thanks to share

  • @zcarla3
    @zcarla3 5 років тому

    Loved this explanation!! thank you

  • @AbhijitDixit-ki1oo
    @AbhijitDixit-ki1oo 5 місяців тому

    Use of animation really helps understand the concept.
    Thank you so much sir 🙏

  • @senthilkumaravel8305
    @senthilkumaravel8305 7 років тому

    Too good!!! thanks for helping me to understand the internal hashmap work in java

  • @amolk4339
    @amolk4339 8 років тому

    Thank you Ranjith. Appreciate your efforts. This definitely going to make difference to learners... Great job!

  • @jqyang9406
    @jqyang9406 7 років тому

    This is just crystal clear explanation!! The best explanation for hashMap!!! And thank you for the information about the updated hashMap in Java 8. That's so cooool and smart!!

  • @maximshen3078
    @maximshen3078 8 років тому

    Best HashMap explanation and animation !

  • @Me-nk5ic
    @Me-nk5ic 8 років тому

    Thanks for the great explanation and great work!!

  • @sonammittal6723
    @sonammittal6723 4 роки тому

    Best tutorial for understanding HashMap. Thanks a lot !

  • @MBadAtGuitar
    @MBadAtGuitar 8 років тому +1

    Thank you very much for this wonderful piece of work. Now certainly I got an idea of how exactly Hashmap works internally.Gonna check the internal activities of put, get and hash in jdk 8 also. Keep the knowledge flowing. :)

  • @Stoic623
    @Stoic623 5 років тому

    Thanks for sharing knowledge It helped me to understand.

  • @swamik5935
    @swamik5935 4 роки тому

    Very well explanation of HashMap .

  • @user-ju1qd9ek2m
    @user-ju1qd9ek2m 6 років тому

    awesome explain about HashMap

  • @popatkalushe1261
    @popatkalushe1261 4 роки тому

    Thanks a lot, i was really afraid and bit confused about this concept , finally I found this explanation and I'm really so happy.

  • @abhinkraj3796
    @abhinkraj3796 8 років тому

    This is excellent. Thanks Ranjith. Looking forward to hear more such tutorials from you.

  • @thirudoddi8485
    @thirudoddi8485 5 років тому

    Nice Presentation of the Map concepts!

  • @vipindixitvipin
    @vipindixitvipin 8 років тому

    Its always a good time while watching your precious and informative videos. Very good and easy to understand. Thanks alot

  • @venkatadhanaraju3214
    @venkatadhanaraju3214 4 роки тому

    Good tutorial for hash map implementaion