Тёмный

Урок по Java 51: Сортировка коллекций и интерфейсы - Comparable и Comparator 

Уроки Java
Подписаться 63 тыс.
Просмотров 48 тыс.
50% 1

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

Опубликовано:

 

20 июл 2016

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 54   
@global_silence2623
@global_silence2623 5 лет назад
Спасибо)) Добавлю кое-что. Если не ошибаюсь, начиная с Java 8, мы можем сделать так Set set = new TreeSet(Comparator.comparingInt(Person::getAge)) или если для имени Set set = new TreeSet(Comparator.comparing(Person::getName)) Это без написания дополнительных классов и имплементации Comparable - работает сразу. И еще можно выводить коллекции так set.forEach(System.out::print), чтобы не писать дополнительно цикл. Про это вроде у вас даже в более поздних уроках где-то рассказано)
@user-iu5sj4us7e
@user-iu5sj4us7e 3 года назад
Спасибо...хороший комент. в тему.
@Satyricons1982
@Satyricons1982 3 года назад
Отличный урок! Удалось на практике применить!
@Light_Heavy
@Light_Heavy 3 года назад
Это можно понять, если параллельно с видео писать и по источникам разным рыскать и читать их. Это целая настоящая работа от которой кипит мозг мой. Так просто это не понять, в принципе как и все программирование. Спасибо за урок, таких мало на русском ятубе).
@user-hp2yi9yy3x
@user-hp2yi9yy3x 2 года назад
Спасибо за доступное объяснение темы
@jackblack1836
@jackblack1836 2 года назад
Отличное видео, спасибо! Коротко и ясно!)
@annam3533
@annam3533 Год назад
Бомба, долго не доходила логика сортировки, теперь прояснилось.
@user-vn1ij6fv8e
@user-vn1ij6fv8e 3 года назад
Всё просто и понятно, спасибо!
@MrTheMercer
@MrTheMercer 2 года назад
Спасибо, все очень понятно)
@09GorecGorecGorecGorecGorecGor
@09GorecGorecGorecGorecGorecGor 2 года назад
Спасибо за уроки , не слушай никого.
@Alexander-is1eq
@Alexander-is1eq 2 года назад
Спасибо большое !
@sinicynvalua
@sinicynvalua 5 лет назад
А-д-д.. :D
@Mirovoy_zagovor
@Mirovoy_zagovor 3 месяца назад
Бро, ты бы выделил зону, где печатается код при трансляции экрана. А так получается: весь экран пустой. А размер шрифта = 0,001мм
@DmitriyTernov
@DmitriyTernov 7 лет назад
Вот еще вопросы: - Сортировка происходит при добавлении элемента? (Насколько помню, как-то так) - Что будет с позицией объекта. При изменении параметра участвующего в сортировке? Отслеживает ли коллекция изменения в объектах, и производит ли пересортировку?
@andriiburenko1898
@andriiburenko1898 7 лет назад
Скажите пожалуйста, а как просматривать документацию по классах, как это делаете Вы? У меня при выполении комбинации Ctrl+Q открывается только реализация метода или класса без подробного описания, как у Вас.
@filidorZeliony
@filidorZeliony 6 лет назад
Ctrl зажимай и щелкай по названию класса! :)
@user-lx8xn9yj2c
@user-lx8xn9yj2c 6 лет назад
А так огромное спасибо. В отличие от дурацких сайтов, здесь все понятно и доступно
@seregayasinskiy780
@seregayasinskiy780 7 лет назад
Привет. Так все понятно , но вот появились некоторые вопросы: - что вызывает метод compare и куда уходит return - где скрыт цикл в котором происходит сортировка - где храниться отсортированный список перед самым выводом
@husivm
@husivm 7 лет назад
Хорошия вопрос. Посмотритем мой урок по Коллекциям - ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-0sWpjUvbGcQ.html Я там на сколько помню рассказываю о том что коллекции бывают 3-х видов: 1. не упорядоченные, 2. упорядоченные, 3. отсоврированные, причем если коллекция отсортированная то она и урорядоченная. К примеру, HashSet - не упорядоченная LinkedHashSet- упорядоченная, TreeSet - отсортированна. Так вот TreeSet основанна на TreeMap коллекции которая в свою очередь отсортированаая коллекция методом красно-черного дерева(если не ошибаюсь, а я не ошибаюсь :) ). Вот сосбвенно внури TreeMap'a и происходит сортировка, там и есть ответы на все Ваши вопросы.
@Flawden
@Flawden 2 года назад
Set - это коллекция, которая хранит уникальные элементы. Например если забить в сет числа 1,2,2,3,4, то туда попадут только 1,2,3,4 (Лишня двойка исчезнет). Как это достигается? Set внутри сравнивает значения по HashCode и по Equals и если обе проверки возвращают True, то элементы признаются одинаковыми и попадают в коллекцию. Но как сравнивать объекты, созданные программистом? Вот хотим мы, чтобы в Set хранились уникальные люди, но.. А что такое уникальность? Вот это мы и описывает через CompareTo. Мы говорим коллекции - дорогая коллекция, чтобы не допустить повторений ты должна сравнивать вот таким способом (О объясняем). Сортировки тут не происходит. Только замена элементов при совпадении. То есть если мы решили, что у Person есть уникальный int passportCode, то если сравнение this.passportCode == passportCode выдаст True, то мы выкинем старого Person из коллекции и поставим туда нового. (Сравнивать разумеется мы можем по многим показателям, а не только по одному). return вызывает коллекция (Будь то Map или Set) и ответ уходит в ее функцию сравнения.
@Flawden
@Flawden 2 года назад
Забыл добавить. В видео все таки происходит сортировка, ибо там используется TreeSet - это тоже хранилище уникальных значений, но они еще и сортируются. Comparable позволяет объяснить JVM как правильно их сортировать. (Ранее писал что не происходит сортировка, теперь пишу что происходит. Поясню. В реализации TreeSet происходит, а например в HashSet - не происходит).
@user-tg5md6hp5m
@user-tg5md6hp5m 4 года назад
Каким сочетанием клавиш Вы смотрите описание интерфейсов и методов?
@wrestlingmotion4194
@wrestlingmotion4194 4 года назад
Ctrl зажимай и щелкай по названию класса! :)
@user-tg5md6hp5m
@user-tg5md6hp5m 4 года назад
@@wrestlingmotion4194 спасибо
@olegprodan6648
@olegprodan6648 6 лет назад
ясно, доступно! С меня подписон... спс ))
@azamattilektessov7432
@azamattilektessov7432 Год назад
Стринги))
@sergeychernov2387
@sergeychernov2387 5 лет назад
20 минут мучений и непонимания, почему он не переопределяет toString () потому что я написал toString (), а не toString() Наличие пробелов решает =( а как вызывается шаблон кода?
@MrMaxSeven
@MrMaxSeven 5 лет назад
если вы про переопределение методов (override), то ctrl+o
@EM_Falcor
@EM_Falcor 2 года назад
Объяснений мало (
@user-cs7yl8ol9l
@user-cs7yl8ol9l 3 года назад
дженерики? Да не, буду делать явное приведение типов))
@husivm
@husivm 3 года назад
ты про последовательность слышал? мы дженеригки только в 56 уроке проходим, как я их могу использовтаь в 51? ты еще скажи почему скпринг в первом уроке не был описан
@user-lx8xn9yj2c
@user-lx8xn9yj2c 6 лет назад
Ахахахаа. У меня такое случилось)) Красным все подчеркивало, думаю, в чем проблема. Минут 15 просидел, потом увидел,"compareTo" с большой буквы написано))))
@cannibalirk3055
@cannibalirk3055 4 года назад
ты в блокноте набираешь что ли??
@gideonwait9813
@gideonwait9813 5 лет назад
Эсли я хочу не инт а дабл отсортировать , что делать ?
@user-my9sg8we9h
@user-my9sg8we9h 4 года назад
дабл, если чё, тоже примитив, поэтому то же самое, что и с интом Collection.sort(твоя коллекция);
@andreysorin3096
@andreysorin3096 3 года назад
интЫ, стрнгИ и адедЕ - это пиздец :)
@Alexander-is1eq
@Alexander-is1eq 2 года назад
А мне наоборот южнорусский говор автора ласкает слух. Он придает изюминку, и позволяет отличить канал от множества похожих. Каждый раз когда слышу что-то типа «Ну шо я вам могу рассказать за этот интерфейс» сразу понимаю куда попал и что меня ждет годный контент. ))
@beliy969
@beliy969 4 года назад
Произношение английского конечно дикое Return читается ритё(р)н
@husivm
@husivm 4 года назад
согласен
@user-fi9ej6pm4r
@user-fi9ej6pm4r 4 года назад
такое ощущение что сам не понимает )
@user-vn1ij6fv8e
@user-vn1ij6fv8e 3 года назад
Не понимаю зачем ты этот видос смотрел если такой тупорез :D
@user-fi9ej6pm4r
@user-fi9ej6pm4r 3 года назад
@@user-vn1ij6fv8e ооо школьники из доты вышли !?
@avocadoman6038
@avocadoman6038 3 года назад
Ну так а что ты хотел? Хочешь качества - плати.
@user-vn1ij6fv8e
@user-vn1ij6fv8e 3 года назад
@@avocadoman6038 не понял, у него как бы реклама в видео, она ему итак приносит доход
@andreysorin3096
@andreysorin3096 3 года назад
Ты к нему не справедлив! Он потихоньку, к концу ролика разобрался :)
@user-gk3ep5mq9r
@user-gk3ep5mq9r 3 года назад
Сырые типы в коллекциях, я в шоке 🤬
@hellsirius1
@hellsirius1 3 года назад
Всё классно, но повышеное ЧСВ в голосе раздражает!
@cs16uzb
@cs16uzb 4 года назад
bomedi vawee
@MsDima9999
@MsDima9999 4 года назад
хахахах сам то хоть понял что сделал?)))))
@andreysorin3096
@andreysorin3096 3 года назад
Пиздец - клоун :)
@user-sr9kt4tp8n
@user-sr9kt4tp8n Год назад
Это конечно всё 6 лет назад вышло, но чел, готовь сценарий роликов заранее, импровизация на лету это пздц
@denisdock7983
@denisdock7983 5 лет назад
Очень плохо, рекомендую переснять.
@olegpetrov3513
@olegpetrov3513 4 года назад
Автор сам не понимает что делает)
@byket_foamiran_vitebsk
@byket_foamiran_vitebsk 4 года назад
Да ну нахер. Эээ - оо о-- ааа ... тут и так тема для восприятия не легкая, так еще твои слова склеивать... готовиться надо
Далее
Урок по Java 52: Списки - List
25:18
Просмотров 23 тыс.
Comparable и Comparator в Java
20:55
Просмотров 11 тыс.
When You Get Ran Over By A Car...
00:15
Просмотров 4,4 млн
Урок по Java 49: Equals and HashCode
38:35
Просмотров 33 тыс.
Урок по Java 46: Сериализация
20:09
Interview Question | Comparable vs Comparator in Java
12:58
Generics In Java - Full Simple Tutorial
17:34
Просмотров 1 млн
#95 Comparator vs Comparable in Java
15:43
Просмотров 148 тыс.