Це відео не доступне.
Перепрошуємо.

How HashMap Internally Works in Java With Animation | Popular Java Interview QA | Java Techie

Поділитися
Вставка
  • Опубліковано 25 гру 2021
  • This tutorial we will explain you How hash map internally works in java
    #javatechie #CoreJava #InterviewQA
    GitHub:
    github.com/Jav...
    Blogs:
    / javatechie
    Facebook:
    / 919464521471923
    guys if you like this video please do subscribe now and press the bell icon to not miss any update from Java Techie
    Disclaimer/Policy:
    --------------------------------
    Note : All uploaded content in this channel is mine and its not copied from any community ,
    you are free to use source code from above mentioned GitHub account

КОМЕНТАРІ • 163

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

    I have seen many videos on this topic but no one explained this topic as simpler and easy as you explained...thank you so much bhagwaan apki har muraad puri kare

  • @rohitkhandelwal319
    @rohitkhandelwal319 Рік тому +16

    I saw more than 50 videos on hashing , but this was the one which made me actually understand, thankyou sir.

  • @poojababar8746
    @poojababar8746 Місяць тому +2

    Sidhi bat no bakwas vala explanation, straight, simple , good work sir

  • @subhamsharma8268
    @subhamsharma8268 2 роки тому +8

    That is a very simplified and a splendid explaination of hashmap. Thank you so much sir.❤

  • @priyankashaw1238
    @priyankashaw1238 Рік тому +5

    Your explanation is to the point and very clear. Request you to also add how hashmap retrieval works when there is more than 1 key in the same bucket.

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

    You are one of the underrated tech youtuber ...

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

      Thanks buddy 🙂 for your word . Will hope to grow soon .

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

    In youtube have more than 1000+ videos same question but your video is very easy to understand.

  • @manamohansamal1040
    @manamohansamal1040 2 роки тому +11

    Brother your explanation helps to easily understand the topic. ❤️❤️ One request if you can make a video one interview questions with different types of url mapping to the dispatcher servlet like /,/*,/** etc . It will be very helpful 🙏🙏

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

      Okay I will do that. This is kind of URL patterns

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

    Bro I have seen a lot of videos , but this is by far the best explanation video i have seen on youtube clean, simple and clear.

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

      Thanks buddy 😊. Glad to hear this ☺️

  • @maankhurana5814
    @maankhurana5814 7 місяців тому +2

    Awesome watched 10 more videos on youtube before this .... not able tp understand concept... but u made it very simple ... Thanks alot

  • @pateldharmesh1361
    @pateldharmesh1361 7 місяців тому +1

    Bhai your tutorial clears all doubts most of the time

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

    The BEST easy explanation out there, Thank you Sir 🤝

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

    Thankyou for so much detailed and simplified way of teaching HashMap. It is really helpful for anyone who wants to either learn fresh or just wants to revise again. Really Appreciate !!

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

    Simple and neat explain

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

    Awesome explanation waiting more interviews questions videos

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

    Very clear explanation thank you sir

  • @NamChics
    @NamChics 7 місяців тому +2

    I am subscribing your channel just because of this video

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

      Keep learning 👍 I believe you like other videos as well

  • @user-fl2yu2yj5e
    @user-fl2yu2yj5e 8 місяців тому +1

    Thank you so much for this explanation! It's really clear with the examples you did :D

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

    Thanks, good an easy to understand

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

    Thank you so much for clear explanation.👏👏

  • @naveenkumardasari
    @naveenkumardasari 5 місяців тому +1

    It would be more helpful, if you explained about retrieving elements from hashmap.

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

      Will do another video

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

    Awesome explained, keep making such a good vedio .

  • @forouzannaderi-vw3sp
    @forouzannaderi-vw3sp 2 місяці тому +1

    great explanation thank you so much 😍👏

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

    Simple and clear thankyou

  • @pranavjog172
    @pranavjog172 7 місяців тому +2

    Hi, Could you please make a video on HashMap internal working in Java 8 or new addition in Java8 for HashMap?

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

    i understand very clear,thanks for explaining neatly🙂🙂

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

    Hey!!! Seriously well explained 😀❤️✨✨

  • @rohitchanda8461
    @rohitchanda8461 6 днів тому +1

    I love this channel's content

    • @Javatechie
      @Javatechie  6 днів тому +1

      Thanks buddy but BTW what is

    • @rohitchanda8461
      @rohitchanda8461 6 днів тому +1

      @@Javatechie haha, no, it’s ❤️ thanks for the content!

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

    Simply awesome explanation brother 👌👌👌

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

    thanks bro. useful for interviews. i am a java backend restful API project tech lead. will apply for job

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

    thank you soooo muchh ! you are the best

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

    best explanation. easy one

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

    Yes, i got the internal hashing collision part

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

    Very good explanation

  • @raghavagarwal6545
    @raghavagarwal6545 11 місяців тому +1

    Simple awesome explanation👍

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

    Awesome explination

  • @vivekkumar-iy7zk
    @vivekkumar-iy7zk 5 місяців тому +1

    Thanks you explained so well

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

    very clear explanation... Thank you

  • @ramyasruthi5372
    @ramyasruthi5372 4 місяці тому +1

    Thank you!!! Very detailed

  • @Nikhil-jf7lv
    @Nikhil-jf7lv 4 місяці тому

    Welcome to java tikki ❤

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

    Nice explanation

  • @TanishKumar-uz4wk
    @TanishKumar-uz4wk Рік тому +1

    Great !!!

  • @RaviShankar-xy6zh
    @RaviShankar-xy6zh 2 роки тому +2

    Bro you always bring great and interesting videos in eloquent way.

  • @AbhijitDixit-ki1oo
    @AbhijitDixit-ki1oo 6 місяців тому +1

    Thank you so much sir 🙏

  • @user-fn3ko9zw7z
    @user-fn3ko9zw7z 11 місяців тому +1

    this is simplified. thank ..

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

    All In one video Thank you sir 💖

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

    Very good explanation sir overall, but I have one little question about the hash collision, at min 5:38 you say that it first uses double equals (==) to check if they have the same hashcode, which means to check if they have the same reference right, if they result to have the same hashcode then it will just replace, but if they dont, then it will check if they have the same value (content) with .equals() method (key1.equals(key2)) right, if it is true then replace, if not then add the next node, is this well understood? please correct me if not

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

      Yes your understanding is correct

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

    Great explanation

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

    Great Work Basant. Keep Growing.

  • @VishalSharma-rn7mt
    @VishalSharma-rn7mt 8 місяців тому +1

    Awesome

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

    Like your videos, you explain the topic in very beautiful way, please make more videos on the interview questions...

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

    brilliant explanation

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

    Thank u it's was short and simple 🙌

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

    Thank you

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

    Thanks for this info..God job sir

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

    Lovely .

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

    Thanks

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

    Very well explained 👏

  • @ranachan5555
    @ranachan5555 2 місяці тому +1

    I am not finding you concurrent Hashmap in your list, Please send the link

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

    You nailed it 🔥🔥🔥

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

    Thanks Basant! Video on working on ConcurrentHashMap will be helpful. Saw many videos, but still its not clear.

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

    Nice thanks

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

    Thank you so much ❤️

  • @pravin.a.mahajan
    @pravin.a.mahajan 2 місяці тому +1

    Hi Basant, Recently I got one question from interview that, will it create bucket of 16 when you create map instance? I did debug the code and found that it creates bucket when you first element into map. your explaination at 1:00

    • @Javatechie
      @Javatechie  2 місяці тому +1

      That's correct but will cross validate and update you

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

    great explanation , and thanks for sharıng. Just little feedback maybe :) same pronunciation was distracting me time to time on focusing, such as zero (sounds g..), hash (has), etc.
    also some of saying 'ok , fine, right, after explaning something etc ' .

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

    Thanks sir🎉

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

    Very nice explanation Basant... One question if we change the content of employee object after adding as key in map then what happened..
    And in case of immutable employee class what is the behavior of map.
    Thanks in advance..

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

      If you will do get (key) you will get NPE

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

    Should have been more helpful if you explained the get process as well. Thank you

  • @snehakarosiya2618
    @snehakarosiya2618 3 місяці тому

    thank you so muchh !!

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

    Good one Basant.

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

    Awesome explanation bro 😊

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

    Tx sir

  • @user-eg6yo3uh4b
    @user-eg6yo3uh4b 6 місяців тому

    5:03
    Correct me if I am wrong but if (e1,"Dev") & (e3,"UI") both coincidentally have the same hash value, then wouldn't the hash value for second linked list at 6 be 1011, just like the linked list above it?

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

    Guys, what is the out of it?
    Map map = new HashMap();
    map.put("a", "B");
    map.put("a", "C");
    map.put(null, "C");
    map.put(null, "C");
    map.put(null, "A");
    System.out.println(map);

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

      Output will be a, C and null , A

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

    Sir, what will happen, if a duplicate value is given to add, will it will check for duplicate value? Suppose if we have same value in index 1 and same value is send again to add on index 3, it will add or it will not add it?

  • @rohitsharma-xt8qe
    @rohitsharma-xt8qe 12 днів тому

    5:38 here you said Map first internally used == operator to check the reference and if it is different then it will use equals method. But in the last diagram you haven't showed this ?

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

    Sir please make videos on design patterns it is mostly Asking now a days in interview

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

    Hi,
    why is the size is still one ?
    Car car = new Car("Seletos",2020);
    Map carMap = new HashMap();
    carMap.put(car,"1");
    carMap.put(car,"2");
    System.out.println(carMap.size());
    In car class, I have the following implementation of the equals and hashcode ?
    @Override
    public boolean equals(Object o) {
    return false;
    }
    @Override
    public int hashCode() {
    return 1;
    }
    car.equals(car) will give it false and it should have added it as the next node but its giving the size as 1 and only node its adding ?
    I am confused in this please help, if u got some time.
    is it ? if the keys are same then it first checks == if not then only it goes for equals comparison ?

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

      In both the case hashcode will be 1 only right which is again duplicate

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

      @@Javatechie Yes 1 but it should go and check for equals method which would return false(because of overridden method) and would add the value as next node ?
      So it means for duplicate keys equals method is also not checked it simply replaces the value ?

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

    If put Method find same content what will happen? is it throw error or ignoring to store the content into that object?
    If e1.equals(e3 is it override e3 content?

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

    Awesome explanation. Thank you. Can you make video for springboot?

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

    You’re videos very helpful. Can you please do a video on java events

  • @Hamza-Shreef
    @Hamza-Shreef Рік тому +1

    5:47
    I think if it finds the same reference or the same value it will throw an exception right ?
    and there is no replacement happening there.

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

      No it won't throw any exception just debug and see

    • @Hamza-Shreef
      @Hamza-Shreef Рік тому +1

      @@Javatechie Yes i mean i'm sorry i'm a c# developer and we have a dictionary instead of hash map but i thought they were the same .
      thank you for pointing that out to me ❤❤

    • @PIYUSH-lz1zq
      @PIYUSH-lz1zq Рік тому

      bro , if there kar 2 null key then second value will be placed in ??

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

    Bro, can you make a video on mock interviews or can you make video on all common interview questions in Java, So that will be helpful to those who wants to change company....

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

      Hi vasu , please check below link it's already there for core java
      ua-cam.com/video/fFnuer3AD8Q/v-deo.html

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

      Part 2 : ua-cam.com/video/GO67C7V-IbQ/v-deo.html

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

      @@Javatechie Thanks

  • @PIYUSH-lz1zq
    @PIYUSH-lz1zq Рік тому +1

    bro , if there kar 2 null key then second value will be placed in ??

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

      Yes

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

      If u first put(null, 8); its stored in the 0 th index and if again u try to put(null, 9);
      Then that first entry get replaced by this new entry in the same 0th index as in hashmap duplicate keys are not allowed, if u try to add entry with same key it's gets override

  • @sivakrishna2544
    @sivakrishna2544 5 місяців тому +1

    Hi bro can you make one vidow difference between 1.7 and 1.8 difference in HashMap internal architecture

  • @NSINGHK
    @NSINGHK 9 місяців тому +1

    It doesn't have linkedlist, it uses resizable array thsts why it fetch in O(1) time, if its linkedList it will fetch map.get(key) in O(n) which is wrong

    • @Javatechie
      @Javatechie  9 місяців тому

      Hello buddy,
      It depends on many things. It's usually O(1), with a decent hash which itself is constant time... but you could have a hash which takes a long time to compute, and if there are multiple items in the hash map which return the same hash code, get will have to iterate over them calling equals on each of them to find a match.
      In the worst case, a HashMap has an O(n) lookup due to walking through all entries in the same hash bucket (e.g. if they all have the same hash code). Fortunately, that worst case scenario doesn't come up very often in real life, in my experience. So no, O(1) certainly isn't guaranteed - but it's usually what you should assume when considering which algorithms and data structures to use.
      In JDK 8, HashMap has been tweaked so that if keys can be compared for ordering, then any densely-populated bucket is implemented as a tree, so that even if there are lots of entries with the same hash code, the complexity is O(log n). That can cause issues if you have a key type where equality and ordering are different, of course.
      And yes, if you don't have enough memory for the hash map, you'll be in trouble... but that's going to be true whatever data structure you use.

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

    If "key" is null then it will placed at 0th bucket then what if "Value" is also null ?

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

    Hi sir please make video with Java 17 example

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

    How to access the entry having null key? like map.get("?");

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

    Bro in which company ur working on ?

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

    ok good,
    but what is the importance of Next then?

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

    You should create captions, because they cannot be created automatically under Your video

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

      Didn't get you buddy

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

      I think, he is referring to Subtitles. You could add subtitles.

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

      @@sivabalarasup7556 thats right

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

    could you activate the subtitles? pls

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

      Please click on CC while watching video. I already enabled it buddy 😊

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

    what if, the equals method returns true? time:4:45

  • @10000Deepak
    @10000Deepak 4 місяці тому

    it does not matches the content itself, unless you have overriden equals method, you are mistaken here

  • @RN-jo8zt
    @RN-jo8zt 2 роки тому

    what if two duplicatre was there in put() .you missed this VVVV.important concept

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

    Ok? Ok

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

    java techie, info is incomplete.

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

      What is missed here ?

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

      @@Javatechie nice explanation but you did not explain about retrieving the keys from hashMap ,main how do you handle if one bucket having multiple nodes ?

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

      This is put scenarios not get and for get() scenarios there is no complexity . Even though in a single bucket there are multiple nodes , Hashmap internally use hash value so there is no conflict simply it will call map.get(obj) then based on object it will check corresponding hash value and return the object

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

    At 5:02 of time, [e1 | Dev | 1011 | null] and [e3 | UI | 7976 | null].... My question is why e1 and e3 have different hash values? shouldn't it be same for both?

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

      Why you are expecting same hash value for 2 different object

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

      @@Javatechie Because You said in the video, at 4:35 of time, both have same hash.

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

      I said let's assume both are getting the same hash value what map internally evaluated

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

      @@Javatechie But collision occurs when we have same hash? and same hash value will give us same index in the bucket??

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

      @@murugeshk14 No, sir, you're wrong here, Index value is calculated as : [index = hash & (n - 1)] , two objects giving same index means, they have same hash value. Same hash value means they'll fall into same bucket. The concept is "Two different objects can have same hash values".

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

    Thanks