Урок по Java 49: Equals and HashCode

  Рет қаралды 33,659

Уроки Java

Уроки Java

8 жыл бұрын

Cкидки до 22-го января на все курсы всего за 9.99:
Каждый купон расчитан на 10 покупок, спешите!
Новый курс по Photoshop:
www.udemy.com/course/draft/33...
HIBERNATE:
www.udemy.com/course/hibernat...
JPA:
www.udemy.com/course/jpa-kurs...
HTML + CSS:
www.udemy.com/course/html-kur...
MAVEN:
www.udemy.com/course/maven-ku...
GIT:
www.udemy.com/course/git-stud...
KOTLIN
www.udemy.com/course/kotlin-b...
SQL:
www.udemy.com/course/sql-kurs...
IDEA
www.udemy.com/course/intellij...
Паттерны Java:
www.udemy.com/course/java-pat...
Java EE:
www.udemy.com/course/kurs-jav...
Английский язык:
www.udemy.com/course/eng-cour...
JAVA:
www.udemy.com/course/java-bes...
Apache Spark:
www.udemy.com/course/apache-s...

Пікірлер: 71
@user-rz4gw4nt1h
@user-rz4gw4nt1h 3 жыл бұрын
Обожаю, когда этот чел приводит примеры, которые не компилируются))) но уроки риал топ у него)
@kosntantinlysenko5934
@kosntantinlysenko5934 2 жыл бұрын
Просто супер урок, проходил эту тему на JavaRush, понял но с гигантским трудом, а тут всё просто и понятно, спасибо автору
@maksimdenlov1236
@maksimdenlov1236 6 жыл бұрын
Огромное спасибо за этот труд! Всё очень понятно разжёвано!
@artonext
@artonext 4 жыл бұрын
11:55 просто ору...говорит давайте без этого xD P.S. А урок в принципе годный ;)
@soulreaver785
@soulreaver785 7 жыл бұрын
Из-за затыка в обучении пришлось вернуться к первым урокам.. Блин.. сколько же "воды" и метаний из стороны в сторону.. все что до 36:30 можно просто вырезать... :)
@prometheusmusic4559
@prometheusmusic4559 5 жыл бұрын
Ну. Ты видимо не новичок в джава. Эти видео предназначены для новичков типа меня
@user-ml2tp5xh1m
@user-ml2tp5xh1m 4 жыл бұрын
Спасибо
@user-lx2ux6cw8z
@user-lx2ux6cw8z 6 жыл бұрын
Такое ощущение, что автор сам запутался, но мужественно и хитро продолжает "объяснять" материал)))
@DmitriuTT
@DmitriuTT 3 жыл бұрын
Ну у тебя такое чувство, потому что ты ничего не понимаешь. Залезь сама в исходные библиотеки и разберись тогда, посмотрю как у тебя получится хоть что-то оттуда понять.
@wilsonikner1167
@wilsonikner1167 9 ай бұрын
@@DmitriuTT так она же не лезет кому то что то объяснять) Мне вот после Вашего комментария непонятно - как люди с нарушением способности построения причинно-следственных конструкций могут заниматься программированием? Ну представим - учитель объясняет теорему Пифагора. Клапсс видит - педагог запутался. Ничего не понятно. Тогда педагог кричит - да идите попробуйте сами разобраться, чего вы пристали?! Возникает резонный вопрос - а ЗАЧЕМ ДЕТИ ПРИШЛИ В ШКОЛУ? Согласен с предыдущим комменатором - данный урок никакой, я бы на месте автора его перезаписал. Разобравшись сначала, конечно. Труд то проделан немалый - 400 видео снято. Ничего личного. Что касается Вашего комментария - конечно, придется использовать другие источники, чтобы разобраться, а чтож еще делать?!
@mykolapylypenko
@mykolapylypenko 6 жыл бұрын
а я думал белым цветом по белому не возможно рисовать)\
@user-xt7up4st1n
@user-xt7up4st1n 4 жыл бұрын
Если бы еще это знание оплачивалось как знание Java)
@yuraitsrainingtoday3187
@yuraitsrainingtoday3187 6 жыл бұрын
override equals,hashcode через alt+insert
@mulyarlamartov8252
@mulyarlamartov8252 6 жыл бұрын
Огромное спасибо за визуальные примеры! Обязательно визуализируйте сложные участки для подробного объяснения.
@takezo_kyiv
@takezo_kyiv 6 жыл бұрын
Спасибо, очень понятно!!!
@user-om3oz6md9b
@user-om3oz6md9b 4 жыл бұрын
Можно ли переопределить hashCode() таким образом , чтобы его код генерировался по итераций. То есть , начиная от 0 до ... n + 1. Рентабельно ли такое вообще?
@user-fc4kk8ek9u
@user-fc4kk8ek9u 5 жыл бұрын
Спасибо за урок
@richterDG
@richterDG 6 жыл бұрын
Тяжело, но мне кажется понятнее невозможно рассказать. Спасибо! :)
@tanzwud1
@tanzwud1 6 жыл бұрын
На сколько я понял ,например, хешмап нужен чтобы передавать "Книги" в ячейки хеш таблицы, и потом, к примеру, на сервер. Он соединяется с сервером и передает данные. Единственное что не смог найти, например у нас есть база данных - покупки. Я обычно создавал текстовые файл с кодировкой, где нибудь на жестком диске. Если применить хешмап то куда эти файлики полетят в память компьютера?, я так и не понял.
@Rick137-C.
@Rick137-C. 4 жыл бұрын
Как сделать так, что бы показывало все методы класса как в начале видео?
@lenaranalizator6125
@lenaranalizator6125 3 жыл бұрын
Тоже хочу знать, особенно в eclipse
@MrMaksimsergeevich
@MrMaksimsergeevich 5 жыл бұрын
Я правильно рассуждаю? Для hashMap если hashCode возвращает: 1) последовательные значение, то бакеты будут быстро заполняться и мапа будет часто перехешироваться, что ухудшит производительность 2) одно и то же значение, то сложность алгоритма превратится из возможно константной в гарантированно линейную, что ухудшит производительность 3) разные значения для одного объекта, то мы не сможем найти наш объект
@user-yg3zu2ji1w
@user-yg3zu2ji1w 5 жыл бұрын
у меня при переопределении equals , а именно в этом месте if (o == null || getClass() != o.getClass()); return false; почему то Unreachable statement ,подскажите пожалуйста
@Pavel-n
@Pavel-n 5 жыл бұрын
Я уверен, что вопрос уже не актуален, но отвечу. Если это полный код метода, то что вы вернете если условие не выполнится? Вообще по соглашению разработчиков множественный return не приветствуется. Можно переписать например так boolean result= true; if (o == null || getClass() != o.getClass()); result =false; return result;
@user-bw7oe1se2u
@user-bw7oe1se2u 5 жыл бұрын
​@@Pavel-n Я не уверен но если так работать то в пустую тратятся ресурсы. А так ретурнув что надо и вышел из метода Зачем же весь метод выполнять
@Pavel-n
@Pavel-n 5 жыл бұрын
@@user-bw7oe1se2u естественно все зависит от ситуации, но обычно различные результаты получаются в цепочке условий, так что если грамотно эту цепь сделать, то не будет никаких лишних трат ресурсов.
@ilya5755
@ilya5755 Жыл бұрын
кажется странным, что нет явного вызова методов equals и hashcode Из-за этого трудно понять, как это работает
@bohdankravchuk4396
@bohdankravchuk4396 3 жыл бұрын
Лайк + уважение за труд автору автоматом, но если бы я из другого курса не знал как это работает то вряд ли бы понял по этом видосе. Автор, зачем так усложнять?
@user-wg5xz8oj2e
@user-wg5xz8oj2e 2 жыл бұрын
Либрари)) По ходу не один я запоминал как это пишется на нашем языке а произносится отдельно)
@innarrt
@innarrt 2 жыл бұрын
А как сгенерировать методи?
@user-bp6ik2lh7u
@user-bp6ik2lh7u 6 жыл бұрын
Та что это за 25 кадр?
@aligator527game6
@aligator527game6 6 жыл бұрын
Реклама Linux Mint?
@MrMaksimsergeevich
@MrMaksimsergeevich 5 жыл бұрын
Чё-то я про инты задумался) ты примерно на 26 минуте про 4 млрд говоришь. Действительно - int это 2 в 32 степени. 4 млрд и 290 млн примерно... но Integer.MAX_VALUE около 2 млрд 147 млн... и инициализировать int aa = 2_150_000_000; компилятор не позволяет. Почему? Типа из-за того, что вторая половина под отрицательные значения отводится?
@husivm
@husivm 5 жыл бұрын
да
@prometheusmusic4559
@prometheusmusic4559 5 жыл бұрын
Иначе говоря, equals() сравнивает хэшкоды объектов? Я правильно понял?
@user-bw7oe1se2u
@user-bw7oe1se2u 5 жыл бұрын
Нет Map и Set(-ы) (из Java Collection FrameWork) В процессе роботы сравнивают екземпляри разних класов. И помагают им в етом HashCode и Equals В начале они проверяют обект по hashcod (-у) если етот код разний значит обекти разние и все больше ничего не делается для сравнения. Если хеш одинаковий то обєкти ещо раз проверяются но Equals(ом) и тогда точно можна сказать одинаковие обекти или нет. Просто у хеш кода может такое быть что для разних обектов згенерируется один хеш.
@haykmkrtchyan7093
@haykmkrtchyan7093 6 жыл бұрын
ааа сложновато немного))
@seregayasinskiy780
@seregayasinskiy780 7 жыл бұрын
Не совсем понятно по синтаксису. Что за скобки ;
@husivm
@husivm 7 жыл бұрын
В 56 уроке рассказывается о то что это за скобки - kzbin.info/www/bejne/gnebdoeBhrZ4jsk
@user-danunahui
@user-danunahui 6 жыл бұрын
Дженерики
@alexdolgoff4358
@alexdolgoff4358 6 жыл бұрын
Нужно хорошо знать мап чтоб понять что аффтар доносит. Но лайк
@richterDG
@richterDG 6 жыл бұрын
Смотрю все поэтапно. Вполне можно понять, но надо напрячься. Хотя мб помогает знание других языков, но подобного там не изучал.
@haykmkrtchyan7093
@haykmkrtchyan7093 6 жыл бұрын
как я понял ticket это ключ, и представим у нас 15млрд книг. Тут же понятно, что хешкоды будут повторяться. А представим я хочу по ключу получить книгу и тут по этому ключу несколько книг. Откуда ему знать какую именно книгу я хочу? Думаю чуть поняли, просто вопрос не могу нормально сформулировать)))
@husivm
@husivm 6 жыл бұрын
Если ticket это ключ, то он должен переопределять equals и hashcode. По хэшкоду находим бакет в котором лежат книги с одинаковыми хешами, а по equals определяем какая конкретно книга нам нужна.
@haykmkrtchyan7093
@haykmkrtchyan7093 6 жыл бұрын
Уроки Java ок, допустим я делаю так map.get(ticket) и в этом ticket е 3 книги, тогда как оно по equals может знать какая именно книга мне нужна?
@husivm
@husivm 6 жыл бұрын
Как в тикете может быть 3-и книги? Три книги может быть в мапе. Мы в мапу передаем тикет и по хэшкоду получаем бакет в котором лежит книга, если в бакете лежит несколько книг, мы по equals определяем какую именно книгу мы ищем.
@DairaGames
@DairaGames 4 жыл бұрын
ключи не повторяются
@user-rz4gw4nt1h
@user-rz4gw4nt1h 3 жыл бұрын
С 10:47 до 12:00 ор
@wilsonikner1167
@wilsonikner1167 9 ай бұрын
Автору - перезапишите этот урок. Если в предыдущих уроках оговорки как тог еще заметны и смысл в общем понятен, то здесь полная галиматься. Только не обижайтесь, пожалуйста. Все равно я Вам признателен за Ваше время.
@vladyslavkuhivchak4998
@vladyslavkuhivchak4998 7 жыл бұрын
hashcode() дэфолтный у класа Object не возвращает адресу памяти, а случайное позитивное число у пределах примитива int
@husivm
@husivm 7 жыл бұрын
А от куда такие данные? Поделитесь ссылкой! А то вот в документации по Java пишут что это адрес объекта в памяти преобразовынный в int. вот ссылка - docs.oracle.com/javase/7/docs/api/java/lang/Object.html#hashCode%28%29 Обратите внимание на строчку - "This is typically implemented by converting the internal address of the object into an integer". Но Вы можете написать в Oracle о том что у них в документации ошибка, и на самом деле hashCode возвращает "случайное позитивное число у пределах примитива int"
@vladyslavkuhivchak4998
@vladyslavkuhivchak4998 7 жыл бұрын
Вот, прочтите эту статью, где указаны исходники на реализацию этого метода на С++. habrahabr.ru/post/165683/ И здесь более подробно: habrahabr.ru/company/mailru/blog/321306/
@husivm
@husivm 7 жыл бұрын
Значит эта статья права, а в документации ошибка.
@filidorZeliony
@filidorZeliony 6 жыл бұрын
...то есть как я понимаю вы бы предпочли что бы автор "обосрал" данный не плохой, быстрый урок огромной кучей непонятной инфы про ШЕСТЬ различных методов получения хэшКода, каждый из которых реализован на разных джаваМашинах? Да, вы, сударь по всей видимости ещё тот любитель попердеть мозгом! :))) Вы наверно ТОЖЕ автор замечательных уроков по джаве, поделитесь ссылкой?
@ruslan-macari
@ruslan-macari 5 жыл бұрын
@@husivm разве Typically не оставляет шанса, что может быть реализовано и по-другому?
@Sk2V1D1
@Sk2V1D1 6 жыл бұрын
Уроки понятные, всё нормально но вот Энглиш скилл режет слух
@stakanovi4
@stakanovi4 4 жыл бұрын
как-то совсем непонятно наверное, 1-я такая непонятная лекция всё равно спасибо за труд
@leodev87
@leodev87 6 жыл бұрын
Если урок про Equals and HashCode, то зачем обсуждать лишнее?
@user-yj5jm7yq6s
@user-yj5jm7yq6s 6 жыл бұрын
"ложат"... знаешь что "ложат"? а все остальное КЛАДУТ!!!
@MrMaksimsergeevich
@MrMaksimsergeevich 5 жыл бұрын
это не урок русского языка
@galina5194
@galina5194 4 жыл бұрын
@@MrMaksimsergeevich везде где не урок русского языка, можно обходиться и без него)
@dimenty_opinion
@dimenty_opinion 4 жыл бұрын
Мы тут программисты. Вы не на том канале. Это не русский с литературой. То что в языке какие то формы недопустимы говорит о его ущербности! С хера ли на слово ложить действуют какие то особенные правила? Нахера такая шняга нам нужна в языке??? Чем чаще мы будем ложить тем быстрей эти дебилы введут эту форму в официальный обиход!!! Идите туда, где учат тех, кто учит то, что не имеет отношения к тому, что учим мы!!!!!!!!!!! Присвоил Сережа?
@atlasua2021
@atlasua2021 3 жыл бұрын
расейское, иди учи свой руский.
@user-dm3qn7wv6v
@user-dm3qn7wv6v 2 жыл бұрын
Мапа - это карта по-украински)
@timurakhalaya6289
@timurakhalaya6289 3 жыл бұрын
автор почитай про hashcode лучше
@husivm
@husivm 3 жыл бұрын
Что читать? Что не так?
@atlasua2021
@atlasua2021 3 жыл бұрын
ля ляпнул и ушел)
@atlasua2021
@atlasua2021 3 жыл бұрын
@@husivm спасибо за твои уроки! Некоторые правда сложноваты, но всё равно спасибо!
@husivm
@husivm 3 жыл бұрын
@@atlasua2021 Спасибо, очень приятно читать такие комментарии!
Урок по Java 50: Коллекции
36:33
Уроки Java
Рет қаралды 72 М.
Выпуск 22. hashCode() и equals() - самое главное.
21:16
Изучаем Java
Рет қаралды 28 М.
Llegó al techo 😱
00:37
Juan De Dios Pantoja
Рет қаралды 59 МЛН
UNO!
00:18
БРУНО
Рет қаралды 2,7 МЛН
КАК ДУМАЕТЕ КТО ВЫЙГРАЕТ😂
00:29
МЯТНАЯ ФАНТА
Рет қаралды 10 МЛН
Урок по Java 54: Maps
33:33
Уроки Java
Рет қаралды 22 М.
Урок по Java 42: Exceptions - исключения
46:49
Уроки Java
Рет қаралды 39 М.
Java. Методы equals и hashCode.
15:05
Sergey Arkhipov Java Tutorials
Рет қаралды 38 М.
HashSet и HashMap в Java на практике
15:41
Тимофей Коваленко
Рет қаралды 2,4 М.
Урок по Java 57: Inner Classes - Внутренние классы
15:03
Урок по Java 60: Reflection - рефлексия
24:44
Уроки Java
Рет қаралды 36 М.
Llegó al techo 😱
00:37
Juan De Dios Pantoja
Рет қаралды 59 МЛН