Grokking The Java Developer Interview: More Than 200 Questions To Crack The Java, Spring, SpringBoot & Hibernate Interview


scenarios in HashMap when the key is a custom



Download 7,31 Mb.
Pdf ko'rish
bet79/89
Sana21.04.2022
Hajmi7,31 Mb.
#571320
1   ...   75   76   77   78   79   80   81   82   ...   89
Bog'liq
Grokking-The-Java-Developer-Interview-More-Than-200-Questions-To-Crack-The-Java -Spring -SpringBoot-

scenarios in HashMap when the key is a custom
class
Answer: equals and hashCode methods are called when we store
and retrieve values from hashmap. So, when the interviewer asks
this question, it is mostly asked with an example, where the
hashmap’s key is a custom class and you are given some situations
where either equals() is implemented or hashCode() is implemented,
sometimes properly, sometimes not. We will discuss all combinations
with programs below so you can give the correct answer in any
situation.
Before we continue, just remember if in your custom class, you are
not implementing equals() and hashCode(), then the Object class
equals() and hashCode() will be called, and also remember about
the contract between these 2 methods. It says when 2 objects are


equal according to equals() method, then their hashCode must be
same, reverse may not be true.
Scenario 1: when custom class does not implement both equals and
hashCode methods
Here, Employee class has not given equals() and hashCode()
method implementation, so Object’s class equals() and hashCode()
methods will be used when we use this Employee class as
hashmap’s key, and remember, equals() method of Object class
compares the reference.
TestHashMap.java:


Can you predict the output of this one?
Output:


Here, Employee objects e1 and e2 are same but they are both
inserted in the HashMap because both are created using new
keyword and holding a different reference, and as the Object’s
equals() method checks reference, they both are unique.
And as for objects e3 and e4, they both are pointing to same
reference (e4 = e3), so they are equal according to Object’s equals()
method hence the value of e3 which was 300 gets replaced with the
value 400 of the same key e4, and finally size of HashMap is 3.

Download 7,31 Mb.

Do'stlaringiz bilan baham:
1   ...   75   76   77   78   79   80   81   82   ...   89




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish