Map and HashMap in Java - Full Tutorial

Поделиться
HTML-код
  • Опубликовано: 17 ноя 2024
  • Complete Java course: codingwithjohn...
    Maps and HashMaps in Java can be so confusing when you're first starting out your Java career.
    But Maps and HashMaps don't have to be confusing at all! A Map is a simple, powerful tool to have in your programming arsenal, and this video will give you everything you need to know to use Map and HashMap confidently in Java, even if you're a Java beginner.
    Learn or improve your Java by watching it being coded live!
    Hi, I'm John! I'm a Lead Java Software Engineer and I've been in the programming industry for more than a decade. I love sharing what I've learned over the years in a way that's understandable for all levels of Java learners.
    Let me know what else you'd like to see!
    Links to any stuff in this description are affiliate links, so if you buy a product through those links I may earn a small commission.
    📕 THE best book to learn Java, Effective Java by Joshua Bloch
    amzn.to/36AfdUu
    📕 One of my favorite programming books, Clean Code by Robert Martin
    amzn.to/3GTPVhf
    🎧 Or get the audio version of Clean Code for FREE here with an Audible free trial
    www.audibletria...
    🖥️Standing desk brand I use for recording (get a code for $30 off through this link!)
    bit.ly/3QPNGko
    📹Phone I use for recording:
    amzn.to/3HepYJu
    🎙️Microphone I use (classy, I know):
    amzn.to/3AYGdbz
    Donate with PayPal (Thank you so much!)
    www.paypal.com...
    ☕Complete Java course:
    codingwithjohn...
    codingwithjohn...

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

  • @gur151
    @gur151 3 года назад +483

    Super underrated channel. With how little views your videos currently get, I'm surprised RUclips even recommended them to me! You deserve a lot more viewers for how well you explain things, and I hope your channel gets the recognition it deserves soon enough

    • @CodingWithJohn
      @CodingWithJohn  3 года назад +78

      Thanks! As you for sure already know, liking/subscribing/sharing/commenting all really help, so I really do appreciate it!

    • @thunderstruck2727
      @thunderstruck2727 2 года назад +10

      At this rate his channel won’t be small for long.

    • @davidteklea1032
      @davidteklea1032 2 года назад +4

      I feel the same way as you Gur.

    • @iskandar-9726
      @iskandar-9726 2 года назад +2

      @@davidteklea1032
      +1

    • @blazing_yt2342
      @blazing_yt2342 2 года назад +4

      Amazing explanation man, you actually made mapping easier.

  • @millenialmusings8451
    @millenialmusings8451 2 года назад +119

    the one thing i like about this channel is he doesn't waste any time. you can see he edits out speech pauses and filler words. very concise and engaging.

    • @SpideCooper
      @SpideCooper 2 года назад +7

      yeah it didn't even feel like ten minutes just found this page and its already awesome

  • @yuto5636
    @yuto5636 3 года назад +170

    I am a first year software development student and there are a bunch of stuff they didn't teach us. This video is quite useful! Thanks!

  • @CarlosCed
    @CarlosCed Год назад +7

    Sir, I’ve been binge-watching your videos for the last three days. You make it all so very simple and clear. Thank you.

  • @youthought878
    @youthought878 2 года назад +28

    I don’t understand how you can explain this stuff so easily. Seriously a true talent. Can’t thank you enough for the videos

  • @peterswrath
    @peterswrath 2 года назад +14

    man if only my cs class was set up and taught like John. he explains all these topics, in the best simplest ways! love these videos!

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

    Man... You are hidden diamond 💎 in RUclips and I found you very late..... You deserve more views than any other java related videos.... I am from India.

  • @azadassis3669
    @azadassis3669 Год назад +5

    I have recently discovered this channel, and to be completely honest, it's an awesome channel to learn from. I have seen many channels teaching Java, but this one is different, the way the John teaches is captivating and holds your attention throughout the video. The videos are informative yet concise, and everything is presented clearly and accurately. I have been going through all the videos.

  • @shoaibaltaf705
    @shoaibaltaf705 3 года назад +19

    I tell you now. You will become top code RUclipsr

    • @CodingWithJohn
      @CodingWithJohn  3 года назад +4

      Thanks for the words of encouragement and thanks for watching!

  • @PedrovoriskAB
    @PedrovoriskAB 3 года назад +5

    man please.. please keep it up with ur videos.. plsssssssssssssssss they are amazing.. I am in the middle of a java bootcamp and they are really helping me out

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

      Thanks Pedro! I appreciate all the comments, keep up the learning!

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

      @@CodingWithJohn amazing !!! will watch all ur videos and also I am sending them to all my bootcamp friends..

  • @BernardVisagie
    @BernardVisagie 3 года назад +5

    2:28, now in C# you can infer even more, and you would be able to write your Java as: HashMap empIds = new();

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

    I have a test coming up tomorrow and this guy is literally saving my life by making things simple and clear to understand. THANK YOU!!!!!

    • @teefus1
      @teefus1 8 дней назад

      how did you do lol

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

    Spent hours reading book but explained it so simply. Thank you.

  • @jakedotnet
    @jakedotnet 2 года назад +22

    9:09: The error 'Insert "Dimensions" to complete ReferenceType' refers to arrays. The primitive type int isn't a valid type to use here, but int[] would be a valid type, as all array types are reference types in java, even those of primitive component type.

    • @MarkSmith-vo1vn
      @MarkSmith-vo1vn 2 года назад +3

      Oh because int [] array is an object as well. We just need to pass in an object, so it thinks we want to do the int[]. Makes sense thanks.

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

    This is truly some of the best coding instruction I've found online

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

    I've been doing Java since the late 1990s and this tutorial still taught me a thing or two. Good job!

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

    in ten minutes i am able to learn which others explain in double or triple amount of time and comprehended 95% of the video content , thanks to your explanation , thank you john sir

  • @flytoinfinityvivi
    @flytoinfinityvivi 6 месяцев назад

    This video literally equals to an hour of studying trying to understand Map. You are amazing! Please never stop what you are doing. You actually make us beginners understand and well hopefully making us the future IT people (:

  • @mattmalan6
    @mattmalan6 3 года назад +6

    Thank you so much! I've got this massive project due in a few days!

  • @IralaPraveen-ku6zr
    @IralaPraveen-ku6zr 6 месяцев назад

    you make to flooded lot of content into our brain in just a few minutes.thank you John.

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

    I just wanted you to know that you're making a great difference in my academic life Mr. John! I appreciate your channel a lot!!

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

    Clear, no BS, concise. Just subbed

  • @OG_R3D
    @OG_R3D 4 месяца назад

    hello john. im a day before finals in one of the courses in java that i learn and this video has explaind the hashmap so well. thank you so much

  • @Diana_13.
    @Diana_13. Год назад

    A huge thanks to you.The way you talk is so clearly also for none English speakers...🤝👏👏👏

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

    This video was really helpful. I´m studying engineering and I understood more in your 10 minute video than in a whole programming semester. Thank you form making student´s lifes easier.

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

    Thank you so much John! Your videos are great! I love how I can learn what I need in just 10 minutes as opposed to the typical school setups we have all experienced in other venues that takes hours and leave you confused.

  • @simbarashemaunga5575
    @simbarashemaunga5575 6 месяцев назад

    The Java content delivery here is just top notch!

  • @cyrilmartin9221
    @cyrilmartin9221 4 месяца назад

    Concept is crystal clear now. Thank you!!

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

    thanks John for this well-explained tutuorial

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

    I just came across this video because I was struggling with Hashmap and objects...long sorry short, I hit subscribe, liked, and purchased the Java Bootcamp course.
    Message to all struggling: don't worry if you don't have the money to purchase the courses, I am sure you will find a way. I think God even while on unemployment I can make a purchase like this. If those can save up to invest in their future, I say do it!
    Thanks, John for the knowledge and keep doing what you are doing.

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

    I'm glad RUclips recommended me this channel!

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

    Couldn't ask for a better teacher @ John. Thank you!

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

    It’s a very crisp and detailed explanation… i was waiting for you to explain iterating maps … thq for video

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

    Thank you, John! Your videos are concise, clear, and well presented. I really enjoy them!

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

    Amazing!! understood HashMaps within 5 minutes 😎. Super Thanks

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

    never subscribed that fast in my life...Straight to the point, easy to understand. keep it up!

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

    I like the way of simplicity in explaining the HashMap topic. 👍

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

    I stumbled across some of your youtube videos as I wanted to understand more of Java. Thanks alot for these uploads!

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

    I love the way you explain Java Subjects, you make me feel like it is not really that hard.

  • @teosurch
    @teosurch 18 дней назад

    Thank you for this clear and easy explanation!

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

    The best explanation I ever came across

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

    Thank you very much for this video.
    it is very nice to learn with an enthusiast teacher.

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

    You're the best. Your teaching is way better than my professor. Please keep uploading more useful videos like this one

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

    Very nice channel . Actually clears the confusion

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

    You make the best java toutorials on youtube imo👍

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

    Straight forward and concise.

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

    I just subscribed to the channel just watching one video, so specific, clear concise..keep rocking..

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

    This guy rattles off it like an expert juggler. He is SO cool! We all could use the master communication skills like him here...especially for teaching programming! You got my vote!

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

    This man is an icon. I didn’t fully understand until I watched his video

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

    clean, straightforward.
    If you are still confused about HashMap after watching this video then Java is not for you mate.

  • @halejandro8753
    @halejandro8753 3 года назад +3

    Learn JAVA and English... It's great... Voy a ser sincero, aunque no se mucho ingles, puedo entender la gran mayoría de lo que estas ilustrando. Excelente forma de explicar...

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

      Gracias! I'm very glad my videos could help in ways I didn't even expect!

  • @gamisr2848
    @gamisr2848 13 дней назад

    Great video. Understood and could follow along after being introduced to this in class. Subscribed!

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

    Brilliantly simple and concise. Subscribed

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

    Thank you so much. I certainly had my struggles to understand what Maps in Java are and what their purpose is, my scripts from university read like messages from outer space... but now I at least have a clue to get further in learning. I felt so stuck with this topic and felt so stupid because everyone said "oh, maps and hashmaps are so easy". Again, thank you effin much. Left a like and sub! :)

  • @AtulPal-i5s
    @AtulPal-i5s 3 месяца назад

    It's an amazing video it explains how to use hashmaps in pretty short video. I'm learning springboot and I don't know about hashmaps so it really helps me to understand how the hashmap works and now I can use it.

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

    you are so good at explaining things

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

    thank you for giving me a chuckle at the song reference 😁

  • @dessa8242
    @dessa8242 Месяц назад

    I didn't know why you have fewer subscribers, I am the kind of person who does not understand things right away, but your video is so simple, and precise. I will understand if you do some rocket science courses too haha. Anyway, you are so smart enough and can readily explain things.

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

    Thank you John for such crisp and clear explanation.

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

    coding with john. you are a good man. thank you.

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

    Why do you not have a lot more subscribers? You have helped me so much and you deserve to have a lot more. Thanks for helping me out on so many things!

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

      I've been lucky enough to go from about 10k a month ago to over 50k now and growing. So it's taken a long time but I'm on my way. Thanks for the kind words, glad you're enjoying the videos!

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

    Awesome! This is Clear and easy to understand

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

    This is so simple wow, thanks John!

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

    One of the best. Short and clear. Thank you, John!

  • @whiteliszt8805
    @whiteliszt8805 3 года назад +3

    Tnx a lot for ur videos, i really enjoy how u represent the agenda and especially ur english

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

    Really big thanks to you for your efforts, I really understand the topic when I watch you.
    Please hange on and you will reach a million sub soon

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

    Very simple and easy to understand the concept of Map. Keep it up

  • @jvsnyc
    @jvsnyc 3 года назад +19

    This video, like pretty much all of yours, is awesome. I would avoid calling it a Full Tutorial maybe, despite the fact that it is well self-contained, because there are important things like the .hashCode() / .equals() contract, and warnings about not using mutable objects as keys that are ultimately Very Important to know which aren't addressed in this video. That totally leaves aside things about how the internals work, because you could know all the rules for safely and effectively using them without understanding the internals, but probably not vice versa. It is a great Introduction to all the basics, however.

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

    This is absolutely amazing! Your explanations are so clear and straight to the point... You have got a very special skill there my friend, good work!!

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

    Crisp and clear. Really liked the way you explained.

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

    YESSS
    My life was in shambles after learning you couldn't make associative arrays in java... These maps will do. Thank you.

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

    3:47 for fanservice lol. Great videos, helping me get an A in my Java class this semester! I have to pause frequently to take notes, and often find new information that I missed when rewatching the videos. Although hard to keep up with unless your familiar with Java, I find the fast pace engaging and usage of concise terminology incredibly helpful.

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

    hey John, thanks for your videos, they're super helpfull it took you 10 minutes to explain a three hours lecture

  • @jack.eastman
    @jack.eastman 2 года назад +1

    As a software developer who writes java every day, my mind was blown when you said you can just print out a HashMap. I've always assumed HashMaps were like Lists and would just print the object ID.

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

      If it's been a while, I think you should try it with a List too and see what happens 🙂

    • @jack.eastman
      @jack.eastman 2 года назад

      @@CodingWithJohn Amazing! Thank you 😂

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

    Very well explained. 10/10

  • @ИваИванова-у8ш
    @ИваИванова-у8ш 3 года назад +6

    Hey John.
    I've been watching your videos for the last few hours and so very glad I found you.
    I'd been struggling with making LinkedLists and HashMaps make sense in my head and your explanations + examples struck a note with me.
    Thanks a lot.

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

      Awesome, very glad the videos helped. Thank you for watching!

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

    Thank you very much, I appreciate your videos and the fact that they're for free!

  • @MichaelPayPlus
    @MichaelPayPlus 3 года назад +33

    2:52 you never explained WHY you have to use new HashMap();.. it's because an Interface cannot be instantiated, only subclasses of an interface can. Because Map is an interface, you cannot directly instantiate it by using new Map(); you have to use one of Map's subclasses, in this case we chose Hashmap, which is a subclass of Map. We could have chosen any official or custom sublcasses of Map and this would still work.

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

      thanks that was informing but still, what are the subclasses available for Map?

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

      @@lifesucks9519 You can look up the Java API for Map, and it should tell you all classes that implement Map.

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

      @@AcidiC727 ok thank you

    • @mohamedibrahim-qm1cr
      @mohamedibrahim-qm1cr 2 года назад

      But we use List an interface during instantiating instead of ArrayList basically both are viable at this point why?

    • @kous7av
      @kous7av 2 года назад +7

      @@mohamedibrahim-qm1cr Hi! We cannot use List interface for creating a list. We must use a class (like ArrayList, LinkedList, etc.).
      This means the following two ways of instantiating a List are correct:
      List myList = new ArrayList();
      List myList2 = new LinkedList();
      Also, the following way of instantiating an ArrayList is syntactically correct:
      ArrayList myList3 = new ArrayList();
      Again, the following way of instantiating a LinkedList is syntactically correct:
      LinkedList myList4 = new LinkedList();
      But the following three ways are wrong:
      List myList5 = new List();
      ArrayList myList6 = new List();
      LinkedList myList7 = new List();
      This is because we cannot create a "new List()" since List is an interface and not a class.
      All the above correct and incorrect ways for the List interface are very similar to the correct and incorrect ways for the Map interface below:
      We cannot use Map interface for creating a map. We must use a class (like HashMap, TreeMap, etc.).
      This means the following two ways of instantiating a Map are correct:
      Map myMap = new HashMap();
      Map myMap2 = new TreeMap();
      Also, the following way of instantiating a HashMap is syntactically correct:
      HashMap myMap3 = new HashMap();
      Again, the following way of instantiating a TreeMap is syntactically correct:
      TreeMap myMap4 = new TreeMap();
      But the following three ways are wrong:
      Map myMap5 = new Map();
      HashMap myMap6 = new Map();
      TreeMap myMap7 = new Map();
      This is because we cannot create a "new Map()" since Map is an interface and not a class.

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

    Hope text books had this type of explanation. Great videos John. Refreshing my Java knowledge after 2 years of not using it.

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

    straightforward, structured and contains the essentials. Thanks for this good video!

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

    Best video I've watched on any Java data structure! Thank you sir!

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

    Super easy explanation thx to clear out how to easily use HashMaps!

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

    Great video, please recommand this guy youtube

  • @GiosBordoli
    @GiosBordoli 9 месяцев назад

    This is exactly the video I was looking for! Thank you!

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

    Thank you for making it easy to understand

  • @calabert
    @calabert 6 месяцев назад

    I want to truly thank you. You're helping me a lot. Your way to explain things is clear and to the point. Very easy to catch tricky concepts with your tutorials. Thanks! new sub :)

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

    Seriously helping me get back in the groove for advanced data structures thank you 🙏🏽

  • @robelso5646
    @robelso5646 3 года назад +3

    Incredible video! subscribed

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

    Very well explained. Glad to have found your channel.

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

    Helpful, and explanatory! Thanks for the video.

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

    This guy makes Java seems so easy.

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

    You made my day with this simple explanation. Thanks!

  • @blinkestblink
    @blinkestblink 5 месяцев назад

    You explain so well, thank you

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

    I am obsessed with your videos

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

    My teacher literally took us 3 hours to teach about HashMap but we got nothing , but 10 mins of ur video just tell us everything.

  • @mrblob5413
    @mrblob5413 2 года назад +7

    A LinkedHashMap retains insertion order, and a TreeMap sorts by keys.

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

    Such a great explanation. Thanks

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

    pretty clear, cut to the chase, love this video, subscribed already.

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

    Hi John, I really like your channel and I just subscribed! I have one comment after watching your video (please correct me if I am wrong). There is a very important property of the HashMap: a value can have multiple keys but one key can only refer to one value at a time. And that's why we can only get a value form key(s). We can know if a value exists but we cannot get the keys from a value (this also violates the designing purpose of the HashMap).

  • @PieMongo
    @PieMongo 3 года назад +5

    How do you not have more subscribers? You're one of the best channels I've seen, and I've seen ALOT haha.
    Maybe do inner classes for the next one? :D

    • @CodingWithJohn
      @CodingWithJohn  3 года назад +3

      Thanks for watching! I like the idea, I'll put it on the list.