No video

How HashMap works in Java? With Animation!! whats new in java8 tutorial

How does java hashmap work ? HashMap is one of the most popular java.util data structures.
Its one of the associative array implementations, here I have explained its internals in simple terms using an animation. Java8 adds a bit of enhancement to HashMap by using a balanced tree when there is too much has collisions. I have covered that as well.
Please leave your comments if you liked this. Also, subscribe to the channel for updates on similar topics.
#java8 #hashmap #hashcode #java #javaprogramming #javainstitute #javascript #javatutorial #array #beginners #beginner #study #learnjava #learning #fypシ #fypシ゚viral #trending #tutorial

Пікірлер: 1 000

  • @RickGladwin
    @RickGladwin4 жыл бұрын

    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

  • @coding_ss632

    @coding_ss632

    4 жыл бұрын

    Thanks Rick

  • @MuzicalMelody

    @MuzicalMelody

    4 жыл бұрын

    How to get the hash value

  • @yaruiwu7408

    @yaruiwu7408

    4 жыл бұрын

    This is just wonderful

  • @balajikoc1429

    @balajikoc1429

    4 жыл бұрын

    Thanks Rick

  • @adarsh6750

    @adarsh6750

    4 жыл бұрын

    Thanks rick

  • @manishsoni7689
    @manishsoni76893 жыл бұрын

    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 жыл бұрын

    This point is very necessary to complete this good video.

  • @PavanKumar-yj8fu

    @PavanKumar-yj8fu

    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 жыл бұрын

    @@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?

  • @ranjithramachandran5928
    @ranjithramachandran59289 жыл бұрын

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

  • @chilltouchng

    @chilltouchng

    9 жыл бұрын

    +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

    8 жыл бұрын

    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

  • @sent2anil
    @sent2anil8 жыл бұрын

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

  • @madhugali
    @madhugali8 жыл бұрын

    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 жыл бұрын

    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 жыл бұрын

    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 жыл бұрын

    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 жыл бұрын

    this was important part... yet nit covered

  • @shyamalmunshi
    @shyamalmunshi8 жыл бұрын

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

  • @condor1016
    @condor10168 жыл бұрын

    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.

  • @VinodKumar-ng3kc
    @VinodKumar-ng3kc5 жыл бұрын

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

  • @javatmz

    @javatmz

    5 жыл бұрын

    :) right

  • @areyoucerealtube
    @areyoucerealtube7 жыл бұрын

    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!!

  • @nabinsaud4656
    @nabinsaud46563 жыл бұрын

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

  • @Tanga-ou5im
    @Tanga-ou5imАй бұрын

    Best explanation. Perfect

  • @jackfarah7494
    @jackfarah74942 жыл бұрын

    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 KZread!

  • @naveedhassan7399
    @naveedhassan73993 жыл бұрын

    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.

  • @jasper5016

    @jasper5016

    2 жыл бұрын

    Good one brother

  • @vyshnavramesh9305

    @vyshnavramesh9305

    9 ай бұрын

    both hashcode() and equals()

  • @saruncse85
    @saruncse857 жыл бұрын

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

  • @anuraag3103
    @anuraag31036 жыл бұрын

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

  • @sandeepsingh-de4fg
    @sandeepsingh-de4fg4 жыл бұрын

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

  • @SagarAnkitaUpdates
    @SagarAnkitaUpdates4 жыл бұрын

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

  • @yuyuejiang3278
    @yuyuejiang32788 жыл бұрын

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

  • @ranjithramachandran5928

    @ranjithramachandran5928

    8 жыл бұрын

    Thanks!

  • @arvind143100

    @arvind143100

    4 жыл бұрын

    @@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????

  • @robertsahayakumar5267
    @robertsahayakumar52672 жыл бұрын

    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.

  • @rajendrakumar2011
    @rajendrakumar20113 жыл бұрын

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

  • @daikhostephen7288
    @daikhostephen72886 жыл бұрын

    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 жыл бұрын

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

  • @RagPeddabudi
    @RagPeddabudi8 жыл бұрын

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

  • @ginny5967

    @ginny5967

    3 жыл бұрын

    😭

  • @ginny5967

    @ginny5967

    3 жыл бұрын

    R

  • @RagPeddabudi

    @RagPeddabudi

    3 жыл бұрын

    @@ginny5967 watzup buddy ?

  • @RagPeddabudi

    @RagPeddabudi

    3 жыл бұрын

    @@ginny5967 wat made u cry

  • @ronak212
    @ronak2126 жыл бұрын

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

  • @bikaspatro3329
    @bikaspatro33298 жыл бұрын

    Excellent demonstration of HashMap implementation!!

  • @RiteshPuj
    @RiteshPuj8 жыл бұрын

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

  • 8 жыл бұрын

    Excellent job @Ranjith ramachandran! Keep doing it!

  • @barrettkepler7618
    @barrettkepler76182 жыл бұрын

    HashMaps finally demystified. Thank you very much

  • @ashrafs965
    @ashrafs9654 жыл бұрын

    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.

  • @shadabsheikh51
    @shadabsheikh518 жыл бұрын

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

  • @harshavardhan7
    @harshavardhan78 жыл бұрын

    Dude more videos please :) You are awesome :)

  • @NileshPatil-m9l
    @NileshPatil-m9l10 күн бұрын

    Your videos are very thoughtful and to the point You should start making more of such content - Watching this in 2014

  • @gnanasekaranebinezar7199
    @gnanasekaranebinezar71996 жыл бұрын

    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!!!👏

  • @chaitu2037
    @chaitu20378 жыл бұрын

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

  • @rhimanshu6288

    @rhimanshu6288

    7 жыл бұрын

    true

  • @nirmitsrivastava

    @nirmitsrivastava

    7 жыл бұрын

    true

  • @rexroy4037

    @rexroy4037

    7 жыл бұрын

    yes its kind of disturbing ..

  • @shubhamsrivastava5400

    @shubhamsrivastava5400

    7 жыл бұрын

    lol

  • @ahmetemreboyaci

    @ahmetemreboyaci

    7 жыл бұрын

    well that's ungrateful

  • @vincentkimt
    @vincentkimt8 жыл бұрын

    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_

    7 жыл бұрын

    +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.

  • @satyajeetkumarjha1482
    @satyajeetkumarjha1482 Жыл бұрын

    Really good explanation with the help of animation.

  • @novaoli1625
    @novaoli162518 күн бұрын

    uploaded 9 years ago, still an golden explanation till date.

  • @atulyadav21j
    @atulyadav21j7 жыл бұрын

    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. :-)

  • @yogeshvbk
    @yogeshvbk8 жыл бұрын

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

  • @ranjithramachandran5928

    @ranjithramachandran5928

    8 жыл бұрын

    +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)

  • @ssbabu78
    @ssbabu787 жыл бұрын

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

  • @sivakrishnat5471
    @sivakrishnat54712 жыл бұрын

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

  • @jonkc3635
    @jonkc36357 жыл бұрын

    Your face is in the way of the slides. lol

  • @sangitdhanani2137
    @sangitdhanani21378 жыл бұрын

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

  • @Jithu0013
    @Jithu00134 жыл бұрын

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

  • @benjaminsinanovic4123
    @benjaminsinanovic41233 жыл бұрын

    Best explanation from all videos I looked on yt.

  • @shikher123yo
    @shikher123yo9 жыл бұрын

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

  • @irynasherepot9882
    @irynasherepot98824 жыл бұрын

    Wow, this is the best tutorial about itHashMap on KZread!

  • @rajajodhani
    @rajajodhani2 жыл бұрын

    So helpful and explained in a very simple way

  • @jqyang9406
    @jqyang94067 жыл бұрын

    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!!

  • @nishikanttayade7446
    @nishikanttayade74466 жыл бұрын

    this is THE BEST EXPLANATION of HashMap...thanks

  • @dhirajchandra778
    @dhirajchandra778 Жыл бұрын

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

  • @nsarvesh1012
    @nsarvesh10128 жыл бұрын

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

  • @MikeAetherial
    @MikeAetherial8 жыл бұрын

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

  • @dillipkumarnayak786
    @dillipkumarnayak7867 жыл бұрын

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

  • @shuvenduoffline
    @shuvenduoffline Жыл бұрын

    Nicely explained! Thanks, keep creating !!

  • @gagangupta1255
    @gagangupta12553 жыл бұрын

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

  • @rohitmanchanda8412
    @rohitmanchanda84126 жыл бұрын

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

  • @KZwai
    @KZwai5 жыл бұрын

    The best! ...and I knew nothing about this complex topic before the video, but now it's my favorite, thank you!

  • @AbhijitDixit-ki1oo
    @AbhijitDixit-ki1oo6 ай бұрын

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

  • @ravisahu3395
    @ravisahu33958 жыл бұрын

    Great explanation about hashing and collisions...

  • @alenka7891
    @alenka78916 жыл бұрын

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

  • @reenalparmar540
    @reenalparmar5406 жыл бұрын

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

  • @arvindaggarwal
    @arvindaggarwal8 жыл бұрын

    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......

  • @chanakakasun9468
    @chanakakasun94684 жыл бұрын

    Recommended video Simply explain how it happens well done

  • @jinliu5928
    @jinliu59288 жыл бұрын

    Very good video! Thank you for your explanation.

  • @rs6262
    @rs62626 жыл бұрын

    Nice presentation with animation. Thank you...

  • @ArdhenduShekharSingh1508
    @ArdhenduShekharSingh15088 жыл бұрын

    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.

  • @indurana1835
    @indurana18352 жыл бұрын

    Earlier i though it would be very complicated concept but sir you made it so simple. thanks

  • @user-ju1qd9ek2m
    @user-ju1qd9ek2m6 жыл бұрын

    awesome explain about HashMap

  • @sonammittal6723
    @sonammittal67234 жыл бұрын

    Best tutorial for understanding HashMap. Thanks a lot !

  • @chaitanyaasati
    @chaitanyaasati2 жыл бұрын

    Amazing explaination and animation!! Love it.

  • @swamik5935
    @swamik59354 жыл бұрын

    Very well explanation of HashMap .

  • @venkatadhanaraju3214
    @venkatadhanaraju32145 жыл бұрын

    Good tutorial for hash map implementaion

  • @uzoamakamadueke7101
    @uzoamakamadueke71013 жыл бұрын

    This is the tutorial on hashmap I have been searching for...great job...very well explained...thank you

  • @Stoic623
    @Stoic6235 жыл бұрын

    Thanks for sharing knowledge It helped me to understand.

  • @MrAsgar123
    @MrAsgar1234 жыл бұрын

    Awesome Explanation , now i got the clear idea of how HashMap internally works, thanks a lot.

  • @senthilkumaravel8305
    @senthilkumaravel83057 жыл бұрын

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

  • @techiebrat9498
    @techiebrat94983 жыл бұрын

    Awesome explanation .thanks a ton.

  • @pushpal.r.1096
    @pushpal.r.10962 жыл бұрын

    Very nice explanation. Thank you Sir.

  • @InnerInvocaction
    @InnerInvocaction8 жыл бұрын

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

  • @MunniDivya
    @MunniDivya4 жыл бұрын

    simple explaination. Nice video

  • @jathitu
    @jathitu7 жыл бұрын

    Superb video explaining HashMap. Best i have gone through for any topic on Java. Please post more videos, would love to hear on many more Java topics from you.

  • @srikanthvalluri1956
    @srikanthvalluri19568 жыл бұрын

    very well explained .. Thanks for sharing!

  • @MadhuCM
    @MadhuCM9 жыл бұрын

    Excellent explanation with animation. great going and thanks.

  • @bashachand8590
    @bashachand85905 жыл бұрын

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

  • @stark469
    @stark4694 жыл бұрын

    Now i have got the detailed knowledge of hashmap.... Thanks

  • @DeepakPandey-lz3hy
    @DeepakPandey-lz3hy8 жыл бұрын

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

  • @vipindixitvipin
    @vipindixitvipin8 жыл бұрын

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

  • @AmitKumar-qh4ow
    @AmitKumar-qh4ow8 жыл бұрын

    Excellent Video on HashMap

  • @vaibhavjain3610
    @vaibhavjain36106 жыл бұрын

    The best explanation for hashmap internal working. Thanks man.

  • @roxanamoghbel9147
    @roxanamoghbel91473 жыл бұрын

    this is the best explanation on the internet

  • @pravinghorpade2771
    @pravinghorpade27718 жыл бұрын

    Very Good explanation and Animation...Thanks

  • @akshaygupta9976
    @akshaygupta99763 жыл бұрын

    Great explanation ever seen

  • @praveen2hearts
    @praveen2hearts8 жыл бұрын

    Classic video on HashMap... Please keep on posting such classics

  • @vibhorhadke988
    @vibhorhadke9888 жыл бұрын

    Ranjith with the animation it's very easy to understand Internal functionality .Great effort and Thanks

  • @bavanasudheerkumar
    @bavanasudheerkumar8 жыл бұрын

    Very clear explanation,good that you discussed the enhancements for hashmap in Java 8.

  • @scubemovies
    @scubemovies4 жыл бұрын

    Best tutorial i have ever seen about Hash Map

  • @MBadAtGuitar
    @MBadAtGuitar8 жыл бұрын

    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. :)

  • @mathisinav4267
    @mathisinav42674 жыл бұрын

    Excellent, the animation is Outstanding, great job

  • @AmbujRajput
    @AmbujRajput6 жыл бұрын

    One of the best explanation of HashMap

  • @kalyanhr
    @kalyanhr6 жыл бұрын

    very well explained. Thanks for the video!!