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

Поделиться
HTML-код
  • Опубликовано: 2 фев 2025
  • 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

Комментарии • 179

  • @NamChics
    @NamChics Год назад +13

    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

  • @rohitkhandelwal313
    @rohitkhandelwal313 2 года назад +20

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

  • @poojababar8746
    @poojababar8746 7 месяцев назад +3

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

  • @subhamsharma8268
    @subhamsharma8268 2 года назад +9

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

  • @charangowda384
    @charangowda384 2 года назад +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  2 года назад

      Thanks buddy 😊. Glad to hear this ☺️

  • @acchutdevkule7841
    @acchutdevkule7841 2 года назад +3

    You are one of the underrated tech youtuber ...

    • @Javatechie
      @Javatechie  2 года назад +1

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

  • @gandamraviteja7019
    @gandamraviteja7019 5 месяцев назад +1

    Great thank you so much just less than 10 mins you cleared lot of things
    even thanks feels tiny for ur work

  • @maankhurana5814
    @maankhurana5814 Год назад +2

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

  • @PraveenKumarpksksit
    @PraveenKumarpksksit 11 месяцев назад

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

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

  • @pateldharmesh1361
    @pateldharmesh1361 Год назад +1

    Bhai your tutorial clears all doubts most of the time

  • @prajwalbandekar3557
    @prajwalbandekar3557 Год назад +1

    The BEST easy explanation out there, Thank you Sir 🤝

  • @girishrp9339
    @girishrp9339 3 года назад +1

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

  • @manamohansamal1040
    @manamohansamal1040 3 года назад +12

    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  3 года назад +2

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

  • @rahulsbhatt
    @rahulsbhatt Месяц назад +1

    Thank you so much for posting this sir!

  • @varmamayank
    @varmamayank 3 месяца назад +1

    Extremely simplified explanation !!

  • @trendingthoughts6726
    @trendingthoughts6726 3 месяца назад +1

    Super understandable videos..keep doing❤❤❤

  • @muralitreddy
    @muralitreddy 2 года назад +2

    Simple and neat explain

  • @FacundoMartín-z2r
    @FacundoMartín-z2r Год назад +1

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

  • @shiva5600
    @shiva5600 3 года назад +1

    Thanks

  • @rajraj8065
    @rajraj8065 2 года назад +1

    Awesome explained, keep making such a good vedio .

  • @chetanbhandari3033
    @chetanbhandari3033 3 года назад +1

    Awesome explanation waiting more interviews questions videos

  • @raghavagarwal6545
    @raghavagarwal6545 Год назад +1

    Simple awesome explanation👍

  • @NamChics
    @NamChics Год назад +2

    I am subscribing your channel just because of this video

    • @Javatechie
      @Javatechie  Год назад

      Keep learning 👍 I believe you like other videos as well

  • @pirate1239
    @pirate1239 Год назад +1

    best explanation. easy one

  • @raghugupta8959
    @raghugupta8959 2 года назад +1

    i understand very clear,thanks for explaining neatly🙂🙂

  • @ranjithkumarravichandiran8983
    @ranjithkumarravichandiran8983 Год назад +1

    Thank you so much for clear explanation.👏👏

  • @amscoder5262
    @amscoder5262 3 года назад +2

    Simply awesome explanation brother 👌👌👌

  • @sameerkadgaye2048
    @sameerkadgaye2048 3 года назад +2

    Very clear explanation thank you sir

  • @explorewithme7070
    @explorewithme7070 2 месяца назад +1

    Very well explained.

  • @forouzannaderi-vw3sp
    @forouzannaderi-vw3sp 7 месяцев назад +1

    great explanation thank you so much 😍👏

  • @raajaakowsalya2711
    @raajaakowsalya2711 2 года назад +2

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

  • @RaviShankar-xy6zh
    @RaviShankar-xy6zh 3 года назад +2

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

  • @priyay
    @priyay Год назад +1

    Simple and clear thankyou

  • @sathishkumarr7106
    @sathishkumarr7106 3 месяца назад

    Thanks bro. It's really helpful for me to understand easily

  • @sergiogb
    @sergiogb 3 года назад +2

    Thanks, good an easy to understand

  • @vinaypandey4752
    @vinaypandey4752 2 года назад +1

    Awesome explination

  • @nagireddy1507
    @nagireddy1507 2 года назад +1

    very clear explanation... Thank you

  • @rohitchanda8461
    @rohitchanda8461 5 месяцев назад +1

    I love this channel's content

    • @Javatechie
      @Javatechie  5 месяцев назад +1

      Thanks buddy but BTW what is

    • @rohitchanda8461
      @rohitchanda8461 5 месяцев назад +1

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

  • @kirane5911
    @kirane5911 Год назад +1

    Very good explanation

  • @TanishKumar-uz4wk
    @TanishKumar-uz4wk 2 года назад +1

    Great !!!

  • @supun_sandaruwan
    @supun_sandaruwan Год назад

    All In one video Thank you sir 💖

  • @zuggrr
    @zuggrr 2 года назад +2

    thank you soooo muchh ! you are the best

  • @vivekkumar-iy7zk
    @vivekkumar-iy7zk 11 месяцев назад +1

    Thanks you explained so well

  • @pradeepnayak1988
    @pradeepnayak1988 3 года назад +1

    Great Work Basant. Keep Growing.

  • @ungalanbuselva
    @ungalanbuselva 2 года назад +1

    Great explanation

  • @murugeshk14
    @murugeshk14 Год назад

    Thank u it's was short and simple 🙌

  • @natureParadise777
    @natureParadise777 3 года назад +2

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

  • @mintybreez
    @mintybreez 2 года назад +1

    Very well explained 👏

  • @subramanianchenniappan4059
    @subramanianchenniappan4059 2 года назад +1

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

  • @ramyasruthi5372
    @ramyasruthi5372 9 месяцев назад +1

    Thank you!!! Very detailed

  • @basitali9651
    @basitali9651 3 года назад +1

    Thanks for this info..God job sir

  • @pratishrutipanda6461
    @pratishrutipanda6461 3 года назад +2

    You nailed it 🔥🔥🔥

  • @praveens2272
    @praveens2272 3 года назад +2

    Nice explanation

  • @mohammedajazquadri7869
    @mohammedajazquadri7869 2 года назад +1

    brilliant explanation

  • @AayushGore-
    @AayushGore- 4 месяца назад +1

    When i thought of this q i thought of receiving answer from java techie. I search on RUclips and first video your name came 😂

  • @soumyaranjan6196
    @soumyaranjan6196 3 года назад +1

    Awesome explanation bro 😊

  • @VishalSharma-rn7mt
    @VishalSharma-rn7mt Год назад +1

    Awesome

  • @bhargavarajuthirumalasetty
    @bhargavarajuthirumalasetty Год назад +1

    this is simplified. thank ..

  • @AbhijitDixit-ki1oo
    @AbhijitDixit-ki1oo 11 месяцев назад +1

    Thank you so much sir 🙏

  • @vipintekade6400
    @vipintekade6400 2 года назад +1

    Lovely .

  • @Akhilesh_Reddy
    @Akhilesh_Reddy 3 года назад +1

    Good one Basant.

  • @maheshrevaskar7658
    @maheshrevaskar7658 Год назад +1

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

  • @2chotti
    @2chotti 2 месяца назад +1

    Brilliant

  • @simplyarranged
    @simplyarranged 2 года назад +1

    Thanks sir🎉

  • @pranavjog172
    @pranavjog172 Год назад +2

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

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

  • @scoobydooby4672
    @scoobydooby4672 Год назад +1

    Nice thanks

  • @naveenkumardasari
    @naveenkumardasari 10 месяцев назад +1

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

    • @Javatechie
      @Javatechie  10 месяцев назад

      Will do another video

  • @sudheergundubogula
    @sudheergundubogula 2 года назад +1

    Thank you so much ❤️

  • @tirthdalsaniya
    @tirthdalsaniya 2 месяца назад

    Content is very good, huge room for English improvement is required. Hope you will work on it.

  • @Nikhil-jf7lv
    @Nikhil-jf7lv 10 месяцев назад

    Welcome to java tikki ❤

  • @devopsshiv3842
    @devopsshiv3842 Год назад +1

    Yes, i got the internal hashing collision part

  • @tolgacelikart
    @tolgacelikart 7 месяцев назад

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

  • @MaheshAnand1995
    @MaheshAnand1995 2 года назад +2

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

  • @sivarama8116
    @sivarama8116 2 года назад +1

    Tx sir

  • @Hamza-Shreef
    @Hamza-Shreef 2 года назад +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  2 года назад

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

    • @Hamza-Shreef
      @Hamza-Shreef 2 года назад +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 2 года назад

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

  • @adityavyas6603
    @adityavyas6603 3 года назад +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  3 года назад

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

  • @pravin.a.mahajan
    @pravin.a.mahajan 7 месяцев назад +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  7 месяцев назад +1

      That's correct but will cross validate and update you

  • @PoudelP
    @PoudelP Год назад

    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?

  • @learnprogramming6930
    @learnprogramming6930 2 года назад +1

    Thank you

  • @shubhammahindru3563
    @shubhammahindru3563 3 года назад +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  3 года назад +1

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

    • @shubhammahindru3563
      @shubhammahindru3563 3 года назад

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

  • @mlevidigeri
    @mlevidigeri 3 года назад +1

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

  • @mohammedajazquadri7869
    @mohammedajazquadri7869 2 года назад +1

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

  • @vasuimandi5535
    @vasuimandi5535 3 года назад +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  3 года назад +1

      Hi vasu , please check below link it's already there for core java
      ruclips.net/video/fFnuer3AD8Q/видео.html

    • @Javatechie
      @Javatechie  3 года назад +1

      Part 2 : ruclips.net/video/GO67C7V-IbQ/видео.html

    • @initToLearn
      @initToLearn 2 года назад

      @@Javatechie Thanks

  • @ranachan5555
    @ranachan5555 8 месяцев назад +1

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

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

  • @RanjanSingh-x8w
    @RanjanSingh-x8w 26 дней назад

    if any previous put method has found index position as 0 and its place the value in 0 position and then we are trying to pass map.put(null,"UI"); what will happen in this case?

  • @snehakarosiya2618
    @snehakarosiya2618 8 месяцев назад

    thank you so muchh !!

  • @rohitsharma-xt8qe
    @rohitsharma-xt8qe 6 месяцев назад

    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 ?

  • @priyanaik4099
    @priyanaik4099 2 года назад

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

  • @ShivaKumarSatakuri
    @ShivaKumarSatakuri 4 месяца назад +1

    Can you explain data retrieval for the same example?

  • @PIYUSH-lz1zq
    @PIYUSH-lz1zq 2 года назад +1

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

    • @Javatechie
      @Javatechie  2 года назад

      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 11 месяцев назад +1

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

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

  • @lCira9
    @lCira9 6 дней назад +1

    when does the bucket size increase?

    • @Javatechie
      @Javatechie  6 дней назад

      When 75% off bucket will be used it wil bel auto grow . That's what load factor

    • @lCira9
      @lCira9 6 дней назад

      @@Javatechie I see, thank you

  • @NSINGHK
    @NSINGHK Год назад +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  Год назад

      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.

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

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

  • @1stnamelastname24
    @1stnamelastname24 Год назад

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