All language subtitles for 007 hashcode_en

af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian Download
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:00,980 --> 00:00:04,400 When you had an equals method, you also need to add a hash code method. 2 00:00:05,930 --> 00:00:11,370 I'm going to repeat this one more time, when you add an equals method, you must also add a hash code 3 00:00:11,370 --> 00:00:11,930 and method. 4 00:00:15,970 --> 00:00:18,250 In this lesson, you will learn to write a harsh code method. 5 00:00:23,070 --> 00:00:28,110 First things first inside of your Java Bootcamp resources, open up the folder for this lesson by following 6 00:00:28,110 --> 00:00:28,830 this path. 7 00:00:34,750 --> 00:00:38,980 OK, by default, hash code assigns every object a new integer. 8 00:00:43,550 --> 00:00:49,760 Inside main Java create three new objects of the car class and print their housecoats car, Nissan is 9 00:00:49,760 --> 00:00:50,620 equal to a new car. 10 00:00:50,660 --> 00:00:52,130 Nissan 20 16. 11 00:00:55,100 --> 00:00:56,240 I'll pinotage code. 12 00:00:57,610 --> 00:00:58,240 Print line. 13 00:01:00,810 --> 00:01:02,700 Nissan, Nissan on code. 14 00:01:11,530 --> 00:01:13,000 Copy and paste this twice. 15 00:01:15,350 --> 00:01:19,010 We'll make this one a dodge, change it up where appropriate. 16 00:01:22,540 --> 00:01:24,100 Let's give it a year, twenty, eighteen. 17 00:01:27,210 --> 00:01:28,560 We'll make this one a Toyota. 18 00:01:36,240 --> 00:01:42,180 Now create a copy of the first object and print its housecoat as well, CanI sinta is equal to a copy 19 00:01:42,180 --> 00:01:44,010 of Nissan, Nukaga, Nissan. 20 00:01:45,940 --> 00:01:47,460 And we'll print a tax code as well. 21 00:02:05,090 --> 00:02:08,539 Notice that every single object you create has a different passcode. 22 00:02:10,020 --> 00:02:15,300 That's fine, but what's bad is that objects that are deemed equal have different hash codes. 23 00:02:15,420 --> 00:02:16,380 This is not good. 24 00:02:21,150 --> 00:02:26,460 Equal objects should have the same harsh covid, otherwise you're going to get bugs with hash based 25 00:02:26,460 --> 00:02:28,170 collections like hash map. 26 00:02:30,300 --> 00:02:34,710 Let's see the bug, I'm going to create a hash map, hash map card, double prices. 27 00:02:42,190 --> 00:02:46,450 Is equal to a new object of the Hashmat class that can store card double entries. 28 00:02:53,490 --> 00:02:57,510 And to the Hashmat a minute, every single object except Nisan to. 29 00:03:05,020 --> 00:03:08,320 And the values can be anything, doesn't matter, let's say a price of ten thousand. 30 00:03:16,470 --> 00:03:19,620 So I think we're trying to pass in and end, let's just add a decimal at the end. 31 00:03:28,560 --> 00:03:29,820 OK, 12000. 32 00:03:32,660 --> 00:03:34,040 And 14000. 33 00:03:39,140 --> 00:03:44,810 Now, before I do anything, Nissan, too, and Nissan are equal, you can even test it. 34 00:04:06,470 --> 00:04:09,170 And according to our equals method, they are equal. 35 00:04:13,160 --> 00:04:19,640 So should I expect that printing prices that get Nissan, too, should return the value for the Nissan 36 00:04:19,640 --> 00:04:19,959 Key? 37 00:04:23,050 --> 00:04:23,760 Let's try out. 38 00:04:26,500 --> 00:04:28,210 Silly me, I forgot to print it. 39 00:04:36,550 --> 00:04:40,570 And it returns no, even though Nissan and Nissan, too, are deemed equal. 40 00:04:40,980 --> 00:04:43,710 So why isn't the Hashmat able to retrieve our key? 41 00:04:45,770 --> 00:04:47,930 Hash map sorts keys into buckets. 42 00:04:50,760 --> 00:04:54,520 Hash map uses the hash code to find which bucket the key is in. 43 00:04:56,790 --> 00:04:59,730 And then it can use equals to check for equality. 44 00:05:02,170 --> 00:05:07,210 In our case, it was looking for the object in bucket one eight three seven, whatever else the rest 45 00:05:07,210 --> 00:05:07,510 is. 46 00:05:09,020 --> 00:05:11,510 It couldn't find this bucket, so it returned no. 47 00:05:15,720 --> 00:05:21,900 That's why when you add an equals method, you must always, always add a hash code method that assigns 48 00:05:21,900 --> 00:05:23,880 equal objects the same hash code. 49 00:05:25,370 --> 00:05:31,490 When equal objects have the same harsh code, the Hashmat can easily find the bucket of the key or interested 50 00:05:31,490 --> 00:05:31,730 in. 51 00:05:36,000 --> 00:05:41,010 Luckily, there's a magical method called cash that returns a hash code based on the fields that it 52 00:05:41,010 --> 00:05:45,240 receives and it knows to assign equal object to the same hash code. 53 00:05:47,400 --> 00:05:53,340 So inside Kageyama, we're going to provide our own implementation of hash code, public interest code. 54 00:05:59,810 --> 00:06:03,830 And then a move to return objects, object, hash and add in our fields. 55 00:06:18,720 --> 00:06:24,150 This method is going to essentially use the fields to assign equal objects, the same housecoats and 56 00:06:24,150 --> 00:06:26,310 unequal objects, different housecoats. 57 00:06:29,560 --> 00:06:32,080 You can validate this by commenting the following. 58 00:06:33,810 --> 00:06:35,130 And running the code in main. 59 00:06:38,590 --> 00:06:44,560 And now notice that Nissan and Nissan to have the same code and the unequal objects have different hash 60 00:06:44,560 --> 00:06:45,100 codes. 61 00:06:48,420 --> 00:06:54,120 So now if you try this again, it gets the value for the Nissan Key Perfect's, so why did this work? 62 00:06:56,370 --> 00:07:00,030 Hashmark uses the hash code to find which bucket the key is in. 63 00:07:00,570 --> 00:07:05,290 It was looking for the object and bucket negative six, seven, three, whatever else the rest is. 64 00:07:05,630 --> 00:07:06,810 It found the bucket. 65 00:07:09,130 --> 00:07:11,990 And then it uses equals the check for equality. 66 00:07:12,520 --> 00:07:18,130 So the Take-Home message is, even if your object is equal to one of the Keys, hash map still needs 67 00:07:18,130 --> 00:07:20,000 the hoshko to look for the key. 68 00:07:20,500 --> 00:07:25,660 That's why when we add an equals method, you must also always, always add a hash code method that 69 00:07:25,660 --> 00:07:26,260 matches it. 70 00:07:31,230 --> 00:07:37,740 Let's recap, equal objects must share the same hash code when you add an equals method, you must also 71 00:07:37,740 --> 00:07:41,370 add a hash code method that assigns equal object to the same hash code. 72 00:07:50,940 --> 00:07:55,230 That's because Hashmark uses the hoshko to find which bucket the key in. 6837

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.