background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

Скачать "Brk-JC1-11-22_Cыч Игорь_Программирование на Java_№11_02.03.2022"

input logo icon
Обложка аудиозаписи
Подождите немного, мы готовим ссылки для удобного просмотра видео без рекламы и его скачивания.
console placeholder icon
Теги видео
|

Теги видео

education
it-academy
Субтитры
|

Субтитры

subtitles menu arrow
  • enАнглийский
Скачать
00:00:07
[музыка]
00:00:16
[музыка]
00:00:18
если у вас вопросы
00:00:33
джерри тоже что
00:00:43
весит просто не по программирование если
00:00:46
не про политику то давай
00:00:58
насколько вероятно что трудится идея
00:01:02
я думаю что это невероятно
00:01:16
я не представляю как на может быть
00:01:19
рубиться
00:01:20
может заблокируется
00:01:23
обновление
00:01:26
она автономно само по себе комменте
00:01:30
версия не требует
00:01:33
ничего не повод учения единственное что
00:01:38
платная версия
00:01:40
на синхронизируется с аккаунтом и
00:01:44
может проверять там ключ если он
00:01:53
такие успехом может закрыться я думаю
00:01:57
это последний что
00:02:03
это где есть ребенок
00:02:08
и свинок 100
00:02:15
так что про идею можно умываться этому
00:02:19
обустроить ним очередь
00:02:20
перед и после дня
00:02:25
подвальном на линуксе в чем призналась я
00:02:37
кстати тоже вроде как считается что java
00:02:42
сериала этот
00:02:45
сначала
00:02:50
10 индикация всех штук
00:02:54
.
00:02:56
10 кг
00:03:03
за
00:03:05
4 года
00:03:06
не пришлось переходить и много это 50
00:03:11
есть просто
00:03:13
windows ставит
00:03:18
не
00:03:25
так я собирался разобрать домашняя
00:03:29
работа если
00:03:34
вопросов нет
00:03:43
хотел разобрать на примере
00:03:46
задачи про завод .
00:03:53
[музыка]
00:03:56
the sea настолько кольца иерархия
00:04:03
смысл задача чтобы
00:04:07
определить ментов по определению
00:04:09
заработной платы каждого работника
00:04:17
я выбрал иерархию такого вида у меня
00:04:22
есть базовый класс
00:04:25
он у меня а штатный
00:04:28
абстрактный потому что он
00:04:32
не
00:04:35
модель не какая-то конкретная сущность
00:04:37
какой-то абстрактный работу и
00:04:44
есть абстрактный метод get salary
00:04:47
такого работника я не могу определить
00:04:50
такой метод поэтому я бесплат сделала
00:04:53
строку и пометил метод строками
00:04:58
но у него по любому у любого даже
00:05:01
абстрактного
00:05:02
работника есть имя имя фамильярность
00:05:06
кабине просто имя и есть какой-то оклад
00:05:11
с оригинала ставка
00:05:16
эти поля я уже определил базовом классе
00:05:19
и
00:05:20
например в поле protected я использую
00:05:25
потом дальше наследником но поэтому
00:05:31
если бы я это поле не использовал я бы
00:05:34
сделал так пройдет но постучи наследники
00:05:38
были ли какие-то своим
00:05:42
что еще и в этом же это я
00:05:48
приду string
00:05:50
кто-то уже надо сталкивался с этим
00:05:53
методом string
00:05:55
когда например захотела распечатать
00:05:57
через систему придавал какой-то объект
00:06:01
на сегодня эмиратов он творение или
00:06:04
конкретное в этом увидите просто
00:06:07
красивые цифры никакой информативность а
00:06:10
если вы хотите чтобы от информативность
00:06:13
было
00:06:14
вы просто перестреляете этот метод
00:06:16
tostring но и он будет вызываться ли те
00:06:24
систему рекламу
00:06:30
все в классе не покинет
00:06:36
за исключением
00:06:39
я выделяю сделать
00:06:44
удобно
00:06:46
плюс все чтобы тот порт без которой есть
00:06:51
это
00:06:52
генерируем идеи
00:07:10
будущем
00:07:13
итак я giraffe у меня такая есть м плеи
00:07:17
класс от него наследуется
00:07:20
рабочие
00:07:26
ничего а
00:07:29
специалисты затем
00:07:31
пространство алтаря
00:07:36
то есть базовый класс наследуется 2
00:07:39
класса специалисты игра бочче
00:07:44
изобретение например рабочий кроме того
00:07:48
что у него есть переменная типа без mode
00:07:54
который тянется из абстрактного класса
00:07:56
не проблема ввести еще любое другое
00:07:59
количество переменных которые
00:08:02
описывают скажем уже наш конкретный
00:08:04
классно приношу опер у
00:08:07
него ну да неважно количества
00:08:11
отработанных часов
00:08:13
работы будет определяться нас
00:08:16
могут быть любые другие параметры они
00:08:20
уже будут относиться к конкретной
00:08:22
реализации
00:08:25
они здесь инкапсулируется сам классе и
00:08:29
все на основе фактов потом итоге будет
00:08:33
считаться вот этот метод get
00:08:40
набираем
00:08:42
базовую ставку начальное количество
00:08:44
часов
00:08:46
отработанных часов и на ключ последних
00:08:49
часов среднем
00:08:53
мы считаем
00:08:55
заработную плату в зависимости от того
00:08:58
сколько часов отработал рабочий
00:09:03
как создаются такие объекты
00:09:07
тоже
00:09:10
это можем делать через авторе гитары
00:09:13
либо
00:09:14
просто через конструктор конструктор
00:09:18
передаем все
00:09:20
переменные все параметры которые на
00:09:24
2 и
00:09:30
отработанных часов для специалистов
00:09:33
например ты тоже два
00:09:36
процента это
00:09:39
другие параметры это
00:09:54
менеджер
00:09:57
менеджер его не хуже там три брат то
00:10:00
есть все что
00:10:03
все переменные которые вам нужно вы
00:10:07
можете задать
00:10:08
конструкторе и дальше у вас будет просто
00:10:12
переменная b и
00:10:16
я реализован
00:10:20
в чем вообще преимущество того что мы
00:10:25
конкретные реализации
00:10:29
заводим переменную базовый
00:10:39
менеджер в
00:10:41
итоге мы
00:10:43
обеспечиваем и все они кидаются and bass
00:10:54
если нам не нужны какие-то специальные
00:10:56
методы касающиеся
00:10:58
директора менеджер или конкретного
00:11:01
актера какие-то в которых нет
00:11:04
лучше сделать так и потом я привел
00:11:09
пример
00:11:10
как посчитать
00:11:14
вам нужно просто по факту всех ваш
00:11:18
сотрудник
00:11:20
сто-двести и
00:11:22
рекетир топ уход которые у вас написано
00:11:25
[музыка]
00:11:30
или например у вас там что ни девайсов
00:11:33
как
00:11:34
отведать который по выключил все
00:11:36
деваться
00:11:37
если вы создавали это конкретные
00:11:41
экземпляры на разборки здесь
00:11:44
специалисты директор и вас будет
00:11:47
несколько групп на подвод группа
00:11:48
директора группа рабочих тоже будет к
00:11:53
разбору но в итоге все что вам нужно
00:11:56
делать это вызывать метод get целыми
00:11:58
если бы они у вас были все обеспечены
00:12:01
например просто не смотри за сон и да и
00:12:04
здесь
00:12:42
у вас все наши объекты будут а народная
00:12:47
вы можете их объединить скажем на сеть в
00:12:50
коллекцию по что угодно и работать с
00:12:52
ними как
00:12:54
будто это одно и то же на самом деле это
00:12:57
совсем разная объект за счет того что
00:12:59
полиморфизм будет определять нужны
00:13:02
методы знаковые объекты силы однако
00:13:05
виктором вести себя по-разному
00:13:09
вот в чем преимущество того что ему не
00:13:13
делать
00:13:17
если у нас будут рабочие
00:13:20
конкретный ну допустим тут на степной
00:13:32
ну еще пара слов
00:13:36
дальше принципе тут уже полет фантазии
00:13:39
вы здесь определять константы и
00:13:42
переменные все что вам нужно
00:13:48
менеджер чуть пугая ролика
00:13:53
появляется никто не от нас есть
00:13:56
специалист и него есть
00:14:01
конструктор уже
00:14:04
ехать от наследоваться вас уже есть
00:14:08
капусту чтобы нам от наследоваться от
00:14:11
этого класса мы должны
00:14:16
мы должны переопределить
00:14:18
обязательно куртка этот конструктор и
00:14:23
напросто не регулируется за 1
00:14:25
конструктор
00:14:28
там его перевели а здесь мы ничего не то
00:14:32
есть этот класс остается без мы не может
00:14:35
наследовать
00:14:37
просто наследовать
00:14:39
мы можем их вызывать
00:14:43
можем их вызывать с помощью слова супер
00:14:47
но они не
00:14:50
для каждого
00:14:53
вас будет и
00:15:07
вот несмотря на то что на
00:15:12
то что здесь я вызываю
00:15:17
когда пишу просто по факту называется и
00:15:25
в зависимость от зависимости от того
00:15:28
какой конкретно это никакого конкретного
00:15:30
класса выказываться пустым того или
00:15:32
иного класса данном случае можно маркер
00:15:36
есть вызывается tostring из класса
00:15:38
баркер здесь тоже и смокер здесь
00:15:42
этой
00:15:55
так давайте вопросы что на чем
00:15:58
становиться подкрепление все ли понятно
00:16:00
что говорил
00:16:03
но еще потом марс каждому что по поводу
00:16:05
интерфейсов
00:16:06
некоторые ребята использовали такой
00:16:09
подход с помощью интересах там
00:16:13
по другому но смысл один и тот же что в
00:16:18
итоге вы создаете экземпляры
00:16:29
[музыка]
00:16:30
создается но переменная будет
00:16:46
все понятно или непонятно я сомневаюсь
00:16:51
уже очень тихо слишком
00:16:59
общественно это как-то
00:17:03
будет разное поведение у
00:17:07
нас вроде бы как все без наш массив это
00:17:11
объекты по
00:17:15
факту они будут приморское они будут но
00:17:20
разные
00:17:22
политика как разные форматы они глупцы
00:17:25
обладать разным поведение
00:17:29
эти вот массив этих объектов он
00:17:32
приморский
00:17:38
да и в этом
00:17:40
возможно что допустим когда вы делаете
00:17:43
домашнюю работу
00:17:45
смысла большого нет мало что короли
00:17:47
также методы называется те же причем
00:17:51
если вы обеспечиваете наверно тоже
00:17:54
заметили вы обеспечиваете
00:17:59
я создал гаркер
00:18:02
засунул его в переменную play если вор
00:18:05
кира у нас там большой там из методов
00:18:07
top and play three итоге bull переменные
00:18:12
гордо она будет обрезана сама перри
00:18:15
переменная будет обрезана но сослаться
00:18:17
она будет плотно
00:18:20
обрезанное планет что
00:18:23
отдельных методы только из класса play
00:18:28
но не из класс вот это
00:18:31
скажем минус это подхода ну что
00:18:36
мы сможем вызвать уже методы борт ну по
00:18:40
крайне мере сейчас
00:18:42
в том что
00:18:46
оказываемся конкретной реализации и этот
00:18:49
вот код который вы здесь что то что то
00:18:52
что вы его записали в отдельный класс и
00:18:56
если у вас дальше эта структура будет
00:18:58
расти
00:18:59
1020 0 иерархия итоге вот этот вот
00:19:05
его вообще ничем
00:19:09
не называется расширяем
00:19:13
то есть ваш код
00:19:16
легко расширяем пламя что какие бы там
00:19:20
иерархии и логике не добавляли вот это
00:19:23
кто то он уже не результатом
00:19:26
по умолчанию будет работать с новыми
00:19:28
современными старыми ударят добавлять
00:19:32
это
00:19:36
так как
00:19:42
подход который могут быть связан с
00:19:46
интерфейсами то есть вместо какого-то
00:19:51
класса
00:19:52
вас мог быть класс
00:19:56
точнее интерфейс и
00:20:08
у него будет сегодня нет
00:20:23
в этом случае
00:20:26
мог бы ну допустим мне он ложился не
00:20:29
очень хорошо потому что я
00:20:32
наделил свой свой базовый классно в
00:20:35
отличие от интерфейса здесь у меня какие
00:20:38
то переменная плюс еще какой-то базовый
00:20:42
метод на всякий случай
00:20:43
даже используя интерфейс а не может и
00:20:46
нормально
00:20:49
метод определить можем и не
00:20:52
рекомендуется и даже если захотели мы
00:20:55
сюда переменную
00:20:57
на фейс они могут иметь такие перемены и
00:21:00
вот как
00:21:03
это вы все пришлось переносить
00:21:05
конкретный класс цивилизации например
00:21:08
паркер
00:21:16
определять в каждом классе
00:21:23
больше возможно если например вы тоже
00:21:27
самое интерфейс применяли для задачи
00:21:33
с приборами может там присмотрелся
00:21:37
получше
00:21:39
опять-таки и
00:21:41
решить и решение цифра компасом и
00:21:44
решение с интересом оно должно
00:21:48
не в итоге иметь примерно результат
00:21:52
когда вы здесь создаете конкретные
00:21:55
реакции но используете по возможности
00:21:58
интерфейса
00:22:11
плюсики
00:22:22
вопросов нет но
00:22:25
[музыка]
00:22:40
тоже вопросов ни у кого нет
00:22:45
[музыка]
00:22:52
так но коллекции
00:23:09
так еще давайте рассмотрим эту большую и
00:23:12
роскошным
00:23:19
главное
00:23:21
это такие же вам будут попадаться по
00:23:24
много всяких интерфейса пигментации да
00:23:27
много информации постарайтесь как можно
00:23:31
больше хочу про интерфейс лист
00:23:34
ну я надеюсь мы уже с вами знаем христа
00:23:38
и dress который мчался смотрели и
00:23:42
класс например год и диаграмме
00:23:47
если это интерфейс
00:23:50
кислоты также конкретная реализация
00:23:54
так вот методы
00:23:57
удачный солист но желательно
00:24:05
когда будете готовиться обратите
00:24:09
внимание на именно методы
00:24:12
интерфейса потому что уже конкретно
00:24:15
реализации эти методы могут быть
00:24:17
расширен и примеры linked лист это
00:24:19
конкретно это реализации лист она не
00:24:22
примете рует как раз сразу два
00:24:25
больше имплементировать или
00:24:28
интерфейс и
00:24:31
лимитирует
00:24:36
она умеет а
00:24:38
релиз умеет только скажу весь
00:24:43
так
00:24:45
есть он скажем сам на первом месте по
00:24:49
популярности
00:24:51
дальше сет и матч
00:24:55
сет он может не так удобен для работы за
00:25:00
счет того что мы там не можем достать
00:25:02
элемент как из массива на 1 2 3 он имеет
00:25:09
какой-то конкретный элемент он может как
00:25:14
бы в цикле позволит вам прийти цикле по
00:25:16
всем элемент либо получить такую
00:25:19
сущность итератор и
00:25:23
бетонировать тоже посмотрим так и методы
00:25:27
листа методы сета и методы мы уже
00:25:32
конкретной реализации на них можно я был
00:25:35
мой вам внимание особо не обращать
00:25:38
нам использовать если
00:25:42
то что вы будете использовать это что я
00:25:45
хочу видеть от использовать cashmere
00:25:47
если это моя остальное можно там особо
00:25:51
не смотреть
00:25:55
здесь с ariba
00:26:00
так даже чем это наш лишь про что 1
00:26:10
если еще базовый интерфейс который стоит
00:26:14
выше над лист и у
00:26:18
него еще более обрезана набор методов
00:26:26
интерфейс коллекции он уже не умеет
00:26:29
создавать элементы лицу
00:26:40
интерфейсы позволяют маневрировать
00:26:42
коллекциями независимо от детали
00:26:44
конкретной реализации релизу этим самый
00:26:47
принцип полиморфизма с бы вы себя в ходе
00:26:50
например принимаете переменные типа лист
00:26:55
near или сам не конкретной реализации а
00:26:58
типа лист и дальше вы не привязывайтесь
00:27:03
поможет метод
00:27:06
находит очень быстро доставать элемент 1
00:27:10
раз может прилететь linked лист и он
00:27:13
будет хорошо добавлять элементы
00:27:18
вам метод можно включать разные
00:27:21
практически разные объекты но работать
00:27:24
она будет
00:27:25
как стены до кисти
00:27:28
вызывать
00:27:35
вы помните мне мы начинаем рассматривать
00:27:37
эти есть конкретно
00:27:44
давайте
00:27:46
рассмотрим более подробно я уже говорил
00:27:48
лист он очень похож на наш оригинальный
00:27:52
массив за исключением того что
00:27:56
валюта нету тех проблем которые спят на
00:27:59
которые есть в масел
00:28:03
помните парочку
00:28:07
да
00:28:09
да то есть мастер у нас постоянный
00:28:13
размер и мы обязаны указывать размер
00:28:15
принц лизации носила
00:28:18
листок из
00:28:21
такого причине нет
00:28:24
вот это главное скажем главное
00:28:28
преимущество
00:28:37
внимание что мы можем элемент
00:28:48
а подтвердите чистый лист позволяет
00:28:53
совесть у него дубликат но обычно лезть
00:28:58
порывист и
00:29:00
пилинги плести
00:29:05
такие методы есть там есть методов
00:29:09
достаточно много даже у вас интерфейса
00:29:12
лист
00:29:14
но интереснее всего ну вот самая
00:29:17
популярная и самая понятная с ходу это
00:29:21
метод get данные появится что-то достаем
00:29:25
как из как из массива с когда мы что-то
00:29:30
положен
00:29:31
причем set intex мы указываем яндекс и
00:29:37
есть возможность яндекс не показывает
00:29:41
иногда вы будете добавлять в конец потом
00:29:45
плане
00:29:50
что
00:29:53
может стать вторым и треть
00:30:03
это
00:30:05
[музыка]
00:30:06
записать на
00:30:09
позицию у вас уже
00:30:12
должен
00:30:29
получить
00:30:35
следующий момент они уже пони камеры для
00:30:38
леса это когда мы добавляем
00:30:42
какой-то элемент его в конец из индекса
00:30:45
общение указывание а
00:30:48
либо можем даже сказать яндекс и
00:30:51
засунуть его там середину между после
00:30:54
после 2 следующие остальные все индексы
00:30:57
автоматически пересчитываются например у
00:31:01
вас был
00:31:03
близкий звук элементов там 12 вы можете
00:31:08
между первым и вторым ставить на
00:31:13
элементов и последний элемент которого
00:31:24
по аналогии как вы можете добавить
00:31:26
можете удалить
00:31:29
вы указываете а либо конкретный объект
00:31:35
который вы хотите удалить
00:31:38
яндекс
00:31:43
наподобие как в массива да и
00:31:49
то есть яндекс по
00:31:53
общим
00:31:55
листе и в коллекциях в целом есть метод
00:32:00
индексов который ищет элемент
00:32:04
лес вспомните мы искали index of строке
00:32:10
там был индекс первого вхождения на а
00:32:15
здесь ищет по каждому элементу коллекции
00:32:20
точнее листа
00:32:23
индексов ищет сначала
00:32:26
конца можно вспомнить аналоги из
00:32:32
плюс опять таки тут уже unlocked даже со
00:32:37
строками
00:32:39
есть метод tostring если помните
00:32:44
торбе на основе строки делают поставку
00:32:48
очевидно делает под лист на основе листа
00:32:53
часть
00:32:55
списка можно выделить часть из кого
00:32:58
дерьме
00:33:06
предлагаю
00:33:09
от генерации посмотреть как ещё не
00:33:14
пробовал
00:33:16
класс м с и
00:33:22
заодно нам надо вспомнить
00:33:26
шарики
00:33:29
на козырьке потому что вот все эти
00:33:31
коллекции говорил я ведь говорила
00:33:35
все эти generique они
00:33:40
все лекции они зверьками
00:34:06
примерно
00:34:10
интерфейс лист
00:34:24
этот класс
00:34:28
зеро ван типа
00:34:32
правильно
00:34:35
переменную так мы пишем переменная
00:34:43
не потом квадратных скобочках мы решим
00:34:47
равен какой-то конкретный класс
00:34:50
это читается так что мы хотим что мы
00:34:53
создаем переменную
00:34:55
типа лес
00:34:57
которая будет работать со строками
00:35:00
вставляем сюда угольный пласт и все
00:35:04
это правильно объявление
00:35:12
неправильно объявление
00:35:15
до 5 если вы пишете долги вы пишете так
00:35:21
если у вас версия
00:35:23
java 5 выше
00:35:26
8 16 и 17
00:35:29
должны указывать
00:35:35
опять таки на прошлом
00:35:38
я вам показывал что влечет то что мы не
00:35:43
привязываем
00:35:46
если мы не указали то наша переменная
00:35:50
smart будут работать с объектами
00:35:53
плюс том что можно засовывать что угодно
00:35:57
но отдавать анапа сюда тоже можно что
00:36:01
угодно на плате на будет
00:36:03
объекты и никакой регистрации
00:36:06
это не
00:36:10
компилятор
00:36:12
так объявление переменной тут просто
00:36:18
давайте посмотрим есть ли
00:36:22
это интерфейс
00:36:24
с параметром где
00:36:27
он наследуется от интерфейса коллекции
00:36:32
тут может быть утром со что когда мы
00:36:35
имплементировать интерфейс напишем
00:36:38
когда один интерфейс наследуем по
00:36:42
другого интерфейса
00:36:44
тоже применять стоит искать
00:36:48
везде там документация все это можно ли
00:36:51
читать
00:36:55
дальше не смотря на все эти генри
00:36:59
кенгурятника лекции это просто обычные
00:37:03
jal по объекты для которых можно сюда
00:37:06
dance
00:37:09
просто создать лист мы не можем потому
00:37:13
что интерфейс мы должны выбрать
00:37:16
конкретную реализацию
00:37:19
реализацию
00:37:23
я упоминал or и лист и вы везде
00:37:29
почему лист родительский класс для
00:37:33
коллекции лист это наследник
00:37:36
лист
00:37:39
раз наоборот лист он является
00:37:43
наследником прессом наследуется от
00:37:46
коллекции
00:37:53
вот такую конструкцию я вам тоже
00:37:56
показываете прошлый раз
00:37:59
тут тоже
00:38:02
если всего пару моментов но они очень
00:38:04
важны во первых
00:38:07
дженерик с левой стороны у переменные на
00:38:10
и ромбовидный оператор его там
00:38:13
взрывателя пылев с правой стороны
00:38:16
если вы
00:38:19
это идти
00:38:22
ромбики скажем
00:38:26
уберете то вы можете потерять ваш
00:38:32
вашим типизацию смотря на то чтобы с
00:38:35
левой стороны создали перемена
00:38:38
справа вас создается фактически класс
00:38:42
без generic
00:38:48
будет аналогично
00:38:54
работает до скрыться не всегда обращайте
00:38:57
внимание вот на этот
00:39:00
серый фон видите
00:39:03
что-то не так старайтесь делать домашнюю
00:39:08
работу по крайней мере обращать внимание
00:39:12
на все это регистрацию
00:39:14
на этот серый фон навожу
00:39:18
просто нажать вот он не выбирает три
00:39:23
варианта
00:39:26
я знаю что правильным
00:39:35
[музыка]
00:39:42
вот тот случай когда он никуда он боится
00:39:46
оба шарика
00:39:50
[музыка]
00:39:56
раньше
00:40:00
не имели когда я пишу ночная писать new
00:40:04
app и лист
00:40:07
я
00:40:08
поставлен вот он закончит напишите про
00:40:12
нее я уже написал что-то неправильно а
00:40:21
строки 8 мы создали пустой
00:40:24
весь
00:40:27
есть возможность создавать ну почти
00:40:32
похоже на литр а вы
00:40:36
если у вас например личный кризис уже
00:40:39
готовы к ну то есть то значение которое
00:40:42
хотите сразу сходу инициализировать вы
00:40:45
можете это сделать
00:40:54
с помощью статического класса
00:41:25
из
00:41:44
[музыка]
00:41:52
смотрите это штука появилась
00:41:57
пишет и даже например если у вас идея
00:42:04
даже если у вас там 16 джалла новые идеи
00:42:09
не включить эту фишку
00:42:12
кишки работать
00:42:22
учителя
00:42:23
можете pax переделать посмотреть
00:42:27
какое выражение листков
00:42:30
выдавших передать через
00:42:33
перемен
00:42:39
работает если у кого-то не работает я
00:42:41
покажу
00:42:42
[музыка]
00:42:47
и в настройках
00:42:52
[музыка]
00:42:54
вот здесь
00:42:59
здесь выбрать хотя бы 10 а лучше да
00:43:03
сейчас
00:43:17
как распечатать
00:43:20
провели три ровать все элементы
00:43:23
коллекции примерно так же как и
00:43:28
предметами силам плюс если помните мы
00:43:33
носили могли интегрировать с помощью
00:43:35
необычно цикла for a как называю ума
00:43:38
циклов foreach
00:43:40
если помните то попробуйте написать
00:43:46
освежить знания он очень скажем
00:43:49
популярный
00:43:58
и
00:44:01
хуже не станет если не может дать им
00:44:05
время шторма как на дефицит описать
00:44:09
если честно я могу сам сходу ошибиться
00:44:13
если он будет мошки потому что привык
00:44:16
что подсказывает
00:44:23
интернете
00:44:33
вот
00:44:37
эта конструкция
00:44:40
полный цикл
00:44:46
обычно инициализируем а вторая это
00:44:51
условие
00:44:52
выполняться для дальнейшего
00:44:56
для каждой итерации и дети это
00:45:00
инкремент наши перемены в общем случае
00:45:08
с укороченным циклом for или так знаем
00:45:13
foreach
00:45:16
мы просто пишем имя нашей переменной
00:45:20
которые которые у нас будет
00:45:23
здесь
00:45:27
сразу получит а так конкретное значение
00:45:31
1 получит первое значение при первом
00:45:35
цикле второй раз строя и и так далее
00:45:48
еще раз
00:45:51
укороченная цикл for с
00:45:53
левой стороны у нас просто какая-то
00:45:56
переменная которую мы вводим сами
00:46:00
и
00:46:03
она будет видна только внутри
00:46:07
вы будете что я хочу
00:46:11
вот этот вот список список это вот наш
00:46:15
из
00:46:19
вот этот список вот такую переменно и
00:46:23
дальше внутри цикла
00:46:27
вы можете просто общаться это переменным
00:46:30
первый раз при первом входе в это
00:46:33
переменная получится
00:46:35
строку вот такое первую строку в трою
00:46:38
здоровью 5 раз 3
00:46:58
не ленитесь набрать таких такой простой
00:47:01
код потому что сразу может лазить
00:47:05
какие-то ошибки мы можем сразу забрать
00:47:24
как добавить список
00:47:29
рнр 5
00:47:45
например вы делаете тот же код на основе
00:47:50
листа точно из
00:47:58
деревни сразу пишет
00:48:22
дело в том на если кто-то вас попробовал
00:48:26
сеть
00:48:31
что
00:48:34
первый случай когда мы просто создаем
00:48:38
наш объект на основе
00:48:41
чистого пустого release the bone у нас
00:48:46
открыт для того что мы
00:48:48
добавляли изменяли он является изменяем
00:48:54
если вы создаете носил через лист она
00:48:59
подразумевается что константа
00:49:03
то есть такую штуку вы используете когда
00:49:07
вам нужно сегодня раз про
00:49:08
инициализировать массив
00:49:11
или допустим вы знаете заранее все
00:49:15
элементы сразу бы итальянцы визируется
00:49:20
если вам нужно его будет меня будущем
00:49:24
не подойдет
00:49:31
пахучие
00:49:35
добавляем или удаляемого
00:49:43
чуть похоже там через при занятии мы
00:49:46
будем проходить стены а
00:49:53
первичных совершенно дать он
00:49:56
молодец держи прогнал этот код
00:50:03
в
00:50:04
принципе убедились что
00:50:08
к сталкеру как мы можем инициализировать
00:50:11
таким образом но
00:50:13
меня такая к стене
00:50:19
смотреть на самом деле довольно много
00:50:22
объектов нет методов
00:50:26
может быть интересный такой метод туры
00:50:30
можем нашу коллекцию наш принцип
00:50:34
получить
00:50:39
либо есть возможность
00:50:42
наоборот из рэй получить коллекцию
00:50:52
статический класс app элис
00:50:57
из
00:51:15
верно вы можете конвертировать их одну
00:51:20
сторону так мы другой например чтобы вам
00:51:23
получить из
00:51:25
коллекции массив вдруг бран отсюда вы
00:51:30
можете дерн стандартный метод туры из
00:51:33
самого объекта если вам нужно на основе
00:51:37
носила получить лист например вы можете
00:51:41
использовать и тический глаз весь метод
00:51:44
пастись
00:51:46
тоже все гуглится такое
00:51:51
так но как то у вас получается в процесс
00:51:56
поэтому для о чем сейчас все
00:52:05
все получилось нам
00:52:16
давайте дальше
00:52:20
есть
00:52:23
тут описанные йоги стандартные методы
00:52:28
минимальный набор
00:52:32
есть варианты конкретные гривен так мы с
00:52:37
вами использовали порывист
00:52:39
но и вы домашки
00:52:42
фактически быть использовать или до тех
00:52:44
пор пока не случится какая-то такая
00:52:47
статичная штука и
00:52:49
в этом случае вы можете выбрать либо
00:52:51
linked лист который удобно
00:52:55
удаляя середине и
00:52:57
добавляете конец и
00:53:00
серийно даже но очень медленно достает
00:53:05
получить на кастинг 101 вели климент
00:53:09
надо пройтись по цепочке
00:53:13
обычный лист а
00:53:20
если еще и держали там отдельная
00:53:24
тема по поводу
00:53:27
типа точного выполнения
00:53:30
кода и
00:53:33
копию убрать релиз то он как раз
00:53:36
вскрытия связано с точностью и проблемы
00:53:41
синхронизации похоже
00:53:51
давайте еще покажу
00:53:53
на картиночке до чем отличается
00:53:57
реализация релиз и released a release it
00:54:01
all
00:54:03
он реализован на базе массива то есть у
00:54:07
него есть яндекс как носили ноль один
00:54:10
два три четыре и когда вам нужно
00:54:12
обратиться к какому-то элементу вы
00:54:14
обращаетесь напрямую через яндекс к
00:54:17
этому периоду
00:54:18
вообще если посмотреть на реализацию и
00:54:22
места вы там внутри у него увидеть
00:54:25
массив качестве переменной старой помощь
00:54:30
с помощью гибких методов
00:54:34
они все сложности прячу
00:54:36
реализации то что они этот
00:54:39
массив там-то удаляют то создай новый
00:54:43
копируете судового сего другой
00:54:46
условности сложно спрятана конкретной
00:54:49
реализации to release on our уже
00:54:53
методы которые вы дергаете получается
00:54:56
что она
00:54:57
то есть доступ к элементам
00:55:00
происходит по мельницу ну и добавление
00:55:07
по факту происходит опять таки через
00:55:11
массивы но
00:55:14
в отличие от or и листа и любит лист он
00:55:18
построен совсем по-другому него нет
00:55:22
индексом ноль один два три четыре у него
00:55:26
у каждого элемента просто и ссылка на
00:55:29
следующие иных предыдущий и
00:55:33
все что знаю допустим ваш лимит лист у
00:55:37
него есть только начались я приводил
00:55:40
пример с цепочкой спаслись первые знак
00:55:43
цепочки и
00:55:45
все что вы знаете что почки есть сосед
00:55:49
вы можете перейти к соседу
00:55:52
вот ваш первый элемент это 2
00:55:56
голова и чтобы вам но
00:56:00
получить какой-нибудь другой элемент вам
00:56:03
придется перейти 23 но во второй и
00:56:07
так далее если вы сможете со второго
00:56:10
перескочить на
00:56:12
3
00:56:14
прийти
00:56:17
каждый отсюда очевидно
00:56:22
очевидно
00:56:24
сам большая проблема рынке то ли стоит
00:56:26
доступ к элементам
00:56:30
вам придётся пройти все предыдущие
00:56:34
например здесь у нас есть перемен а под
00:56:36
индексом 2 мы делаем get 2 и получаем
00:56:41
если это нас социализации arraylist если
00:56:44
же стерилизация линги твист и мы говорим
00:56:47
get 2 то мы сначала получаю идем в этот
00:56:51
элемент спрашиваю его про ссылку на
00:56:53
следующие на него следующий
00:56:56
такой себе
00:57:05
тут тоже собрана информация по
00:57:09
поводу отличие релиз и
00:57:17
конкретно по поводу our list
00:57:20
плюс быстрый доступ по индексу быстрых
00:57:24
начать за константное время будь то у
00:57:27
вас 10 и 10 миллионов элементов
00:57:35
быстрая вставка явление элементов с
00:57:38
конца это
00:57:40
такое она она будет не всегда быстро она
00:57:46
допустим быстрая ставку до тех пор пока
00:57:49
ваш исходный массив имеет достаточную но
00:57:52
до тех пор пока вам нужно корректировать
00:57:55
исходный массив
00:57:58
например когда вы создаете новые корель
00:58:01
из вас получают abs удается
00:58:04
обычный на series элемент и вы можете
00:58:07
быстренько добавлять добавлять ничего
00:58:10
фактором нужно будет
00:58:14
релиз
00:58:17
старый массив
00:58:24
2 плюс он такой
00:58:27
обычно быстро но иногда может очень
00:58:30
легко медленнее чем собственно вместе
00:58:34
минусы медленная ставка явлениях
00:58:37
середина вы
00:58:38
ну а пятых если вы вставляете как
00:58:41
массивы годится
00:58:44
придется
00:58:46
копировать заменять
00:58:51
здесь возможности есть возможность
00:58:54
указывать при создании массива при
00:58:57
задании отрывисто размерность через
00:59:00
переменную capacity
00:59:03
почитать не такой уже
00:59:06
при создании релизы 100 если вы знаете
00:59:09
там будет очень много элементов можно
00:59:11
поиграться с этим параметрам и создавать
00:59:13
сразу же пошел
00:59:20
добавить рыбу брать а причем я же вам
00:59:26
пока зло он хорошо все коллекции хорошо
00:59:30
печатаются
00:59:32
притом
00:59:41
еще давайте по поводу linkit лист
00:59:45
тот же лист но другая имплементация плюс
00:59:50
сама сам класс снимки 3 ст он имеет
00:59:54
намного больше методов например чем
00:59:56
интерфейс лист или чаны класс орбиз
01:00:04
если если вам нужно использовать
01:00:07
дополнительные
01:00:12
если нам нужно дополнительные методы
01:00:15
прикид листа
01:00:17
которые набу малых
01:00:21
интерфейсе лист тогда нам придется
01:00:26
греть имитацию но нашу переменную
01:00:30
делается таких конкретной реализации
01:00:33
чтобы получить доску
01:00:36
у
01:00:45
леньки
01:00:47
302 обидчика табачников
01:00:51
связанным со структурами данных это
01:00:54
очередь стек
01:00:59
я практически не используют бедная
01:01:02
реализации
01:01:04
обычно хватает обычно
01:01:14
единственный его плюс это стабильно
01:01:16
быстрое обновление
01:01:19
опять-таки очень быстро и отопление
01:01:22
обычно под этим понимается
01:01:26
допустим какие-то действия за
01:01:29
константное время константное время наша
01:01:32
запусти on
01:01:33
будьте вас там 10 миллионов 10
01:01:37
элементов вы примерно за
01:01:40
одинаковое время
01:01:42
станете и большой есть и в маленький
01:01:47
но если вам нужно получить там десяти
01:01:51
миллионый элемент блин гид лист близ те
01:01:54
то эта сложность большая
01:01:58
можно зависнуть
01:02:09
секс очередь эдак
01:02:13
расстойки членского с про структуры
01:02:16
данных так ставьте очередь которая
01:02:20
устраняя да не просто по ту сторону
01:02:23
двигаться то есть она может обычно
01:02:26
очередь это вы приходите в магазин и
01:02:29
элементы будут убывать на хоть на деке
01:02:34
элементы могут
01:02:36
уплывать или дорог добавляться когда уже
01:02:43
очень с двух сторон
01:02:57
интерфейс с
01:03:00
помните давайте сравним его с листом
01:03:06
во-первых глист
01:03:08
места из индекса и все элементы
01:03:16
упорядоченной
01:03:18
порядка
01:03:20
лежат а вот что визуально себя
01:03:23
представляет сет множество
01:03:26
это просто беспорядочно разложенное
01:03:29
элемента или сна и правило это что в
01:03:34
множестве не может быть
01:03:36
дубликатов если мы сюда сто раз положим
01:03:47
но из трубки имеет получается находить
01:03:51
дубликата
01:03:54
ну что принципе очевидно потому что если
01:03:57
мы сюда по роже 10 арт
01:04:00
они сегодня порядочная
01:04:08
вечер
01:04:13
по структуре
01:04:15
[музыка]
01:04:17
множество
01:04:19
проще чем лист
01:04:22
причине там уже нету метод get a
01:04:26
нет метода
01:04:31
нет смердов скосит xor
01:04:34
x добавляем по индексу изменяя какой-то
01:04:38
элементы то есть мы не можем сказать что
01:04:40
вот измени этот элемент c да потому что
01:04:44
мы не можем его взять у нас не примет
01:04:57
да мы можем просто спасите множество
01:05:00
есть такой элемент если есть тоттори
01:05:05
но пойдут служи мне обратить и можем
01:05:08
сказать удали вот этот элемент какой-то
01:05:11
конкретный и стал есть
01:05:16
так две самые модные винта ции hashed
01:05:22
это не упорядоченное множество
01:05:25
и
01:05:26
трясет есть возможность сделать вот
01:05:31
такую штуку
01:05:32
указать
01:05:39
порядок в котором тебе будут выдаваться
01:05:43
элементы использовать так называемый
01:05:46
оператор или просто перейти в цикле
01:05:48
томаш и куда отправилась в каком порядке
01:05:51
теперь давайте
01:05:56
это будет
01:05:59
сортироваться
01:06:06
по длине если это чисто
01:06:13
сразу же
01:06:18
использовать
01:06:22
таким
01:06:33
порядок
01:06:38
говорил
01:06:41
методов намного меньше мы можем добавить
01:06:45
но не по индексу можно добавить
01:06:48
несколько
01:06:49
можем удалить первый попавшийся можем
01:06:53
ударить какой-то
01:06:55
конкретный элемент
01:06:58
просто
01:07:00
можем узнать содержится один элемент или
01:07:04
кажется ли там набор элементов мы можем
01:07:08
узнать размер
01:07:10
в итоге это все еще просто куча объектов
01:07:16
но
01:07:18
сам
01:07:20
самая имитация умеет обходить все эти
01:07:24
элементы если впервые за детей пройти у
01:07:28
нее есть способы так обойти всех и не
01:07:33
рождает иксов идет но и требовать их вот
01:07:41
так
01:07:54
[музыка]
01:08:07
[музыка]
01:09:00
[музыка]
01:09:27
на коллегии в основном друзья там просто
01:09:32
с вальтами проблемы
01:09:36
смородина наш на 8 ом ирина терять и
01:09:43
узбекистан
01:09:47
[музыка]
01:10:08
официально завода социальный отпуск
01:10:10
взять два месяца и пять хочешь
01:10:23
[музыка]
01:10:27
дальше мы переедем
01:10:30
мириться даже больше
01:10:33
я думаю что
01:10:36
закрыли на растении да и слабо у меня
01:10:41
не скучаю по нему
01:11:00
[музыка]
01:12:09
[музыка]
01:12:24
[музыка]
01:12:43
как
01:12:49
больше тысяч
01:12:50
уже по заявке
01:12:52
знаю я снимала прошла
01:12:57
ну как там но можно снимать банков и
01:13:03
банкоматов и
01:13:08
горский
01:13:49
только на картинке
01:13:52
порыв доллара теперь только на картинке
01:13:55
когда в россии доллары или раньше не
01:13:58
особо
01:13:59
[музыка]
01:14:19
можно вопрос и он домашний утолял вчера
01:14:23
и вы мне поставить и 8
01:14:28
восполнить и
01:14:31
сильно задирал поэтому оба на последней
01:14:37
вот я хотел спросить это про исполнение
01:14:40
было ли стала что задержал
01:14:43
сколько
01:14:50
замечание было
01:14:52
возможно не увидел
01:15:06
использовать
01:15:14
так я по ходу пытался
01:15:18
не понимаю тему я где-то у
01:15:30
тебя
01:15:33
нет ли не интерфейс у меня было это еще
01:15:39
это еще строк мисс регулярное выражение
01:15:42
[музыка]
01:16:15
[музыка]
01:16:24
[музыка]
01:16:33
делаешь так
01:16:36
десятка редко
01:16:47
пересмотрю что я бы не ставил
01:17:00
сколько все что
01:17:10
до максимально стоп .
01:17:13
шучу 10
01:17:19
[музыка]
01:17:24
отлично выполняют работает
01:17:27
910
01:17:30
нахожу что-то особенное
01:17:49
до субботы посмотрят а как до пятницы
01:17:53
ориентировочно
01:18:01
если не получится до субботы можно
01:18:04
суббот
01:18:13
понимаю
01:18:31
35000 и этом у нас африке тем
01:18:41
[музыка]
01:18:46
до их можно оформить одним решения ну
01:18:50
что не очень связаны
01:18:52
взять на канал него все что нужно .
01:19:10
[аплодисменты]
01:19:12
[музыка]
01:19:30
[музыка]
01:19:41
[музыка]
01:19:57
вывести добавить поле
01:20:13
я выкуплю вместе скоро туры
01:20:42
ты его закрываешь
01:20:48
уже определили главную проблему
01:20:51
сканирование за заказать если работаем
01:20:54
через систему
01:20:58
так что вам еще рассказать
01:21:05
вопросы
01:21:16
но давайте туда дальше
01:21:24
еще
01:21:25
отдельно
01:21:27
над всеми этими коллекциями с
01:21:31
этом листом интерфейсом collection
01:21:36
сверху еще есть кроссовер базовый
01:21:38
интерфейс
01:21:55
работа оператор
01:21:57
есть базовый интерфейс итератор он не
01:22:02
привязан никси
01:22:05
очень базовые еще что мире это просто
01:22:09
обходить колец у него
01:22:13
всего три или четыре метода
01:22:16
всего три методом практически он может
01:22:20
сказать
01:22:23
есть ли еще клиент как только мы его
01:22:27
создаём
01:22:29
получаю указатель на первый элемент если
01:22:34
мы его вызываем например на листе
01:22:37
то он получит
01:22:42
элемент с индексом 0 если мы его
01:22:44
получаем на с эти на множестве он
01:22:49
получит сначала первый пробный элемент
01:22:56
он скажет троица там хоть один есть и
01:22:59
дальше вы не можете там не вперед не
01:23:03
назад не посмотреть всех можете
01:23:06
три мента
01:23:08
спросить если следующий
01:23:11
можете
01:23:15
переключиться на следующий элемент и вы
01:23:19
можете удалить
01:23:23
это очень но скажем такой ограниченный
01:23:27
интерфейс но он умеет он
01:23:32
наследуется
01:23:34
наследуется все и
01:23:37
по правде говоря из-за этого интерфейса
01:23:40
итератор у вас вообще появляется
01:23:43
возможность
01:23:44
использования
01:23:45
как
01:23:50
то что вы можете проходить
01:23:54
вот таким циклом по листу это заслуга
01:23:58
того что лист вошли что он черта там
01:24:02
дальше
01:24:03
следует the quiz наследуется от
01:24:06
collections а
01:24:08
вот а actions наследуется от интерфейса
01:24:12
in trouble trouble все-таки интерфейс и
01:24:15
тропу и
01:24:17
вот он внутри себя уже содержит
01:24:21
конкретно слышно из питера таро
01:24:27
еще раз по циклу for он имеет умеет
01:24:33
работает только с теми клиентами
01:24:36
а
01:24:37
которая расследует интерфейс и траву
01:24:41
то есть это массивы ваши
01:24:45
лет цельсия плюс если вы напишите свой
01:24:49
собственный класс и
01:24:51
имплементировать и туда интерфейс и
01:24:54
траву а его тоже сможет но можно будет
01:24:58
подставить сюда например если вы
01:25:02
складывают страха
01:25:06
за какие типы и тренироваться по
01:25:09
булавкам
01:25:16
поставить потому со string не наследует
01:25:19
это работ лист наследует
01:25:24
любые элементы станете
01:25:29
это рабов
01:25:31
когда вы создаете
01:25:33
когда вы работаете с лекциями у вас есть
01:25:36
сразу же возможно получить
01:25:48
если того чтобы обходить это все в цикле
01:25:50
мы с вами делали у нас есть у вас есть
01:25:54
альтернатива
01:26:00
здесь по нему с помощью оператора
01:26:20
альтернатива нашего цикла
01:26:23
это 1
01:26:25
зачем вообще этот и трактор если
01:26:29
использовать
01:26:34
ну и весь на его плюс что с помощью
01:26:37
итератора можно еще более обобщать
01:26:43
сущности мы можем отказаться вообще от
01:26:47
интерфейс с вязаться от интерфейса без и
01:26:52
даже открыт от веса collection и если
01:26:56
нам нужно просто проектировать пройдись
01:26:59
всем элементам
01:27:01
мы можем использовать интерфейс итератор
01:27:06
он супер экономичный вам очень сильно
01:27:09
сужает наши возможности но зато очень
01:27:13
хорошо обобщает используя переменную
01:27:17
типа литератор вы можете работать
01:27:19
совсем коллекция и
01:27:22
дальше не задумываясь
01:27:25
листы
01:27:35
тоже
01:27:37
презентации описано
01:27:40
также показал здесь между добавили тут
01:27:45
правители равале факт это просто
01:27:48
альтернатива вашего for
01:27:54
просто если эти собственно собственных
01:27:58
глаз и
01:27:59
если дайте set in итератора то вам нужно
01:28:03
будет имитировать всего 3 метра и тогда
01:28:06
ваш класс можно будет на for each
01:28:09
вставлять
01:28:16
если обычный итератор
01:28:19
вот что мы тут получили на
01:28:24
это из интерфейса лист то есть еще
01:28:29
расширены и пиратов она мы его можно
01:28:32
получить только из
01:28:36
из списков
01:28:40
если
01:28:48
если наш базовый оператор да у него там
01:28:52
всего три метода мы можем
01:29:01
можем
01:29:03
помочь
01:29:08
[музыка]
01:29:24
наряду с
01:29:26
базы
01:29:28
котором
01:29:31
просто итератор вид этого всего три
01:29:34
метода
01:29:45
расширенные лист операторы потеки не
01:29:49
приходилось пользоваться и
01:29:51
он умеет на пример гидрировать не просто
01:29:55
в одну сторону а можно за вперед
01:30:01
он даже может вернуть индекс элемента
01:30:05
критический он уже похож на
01:30:13
практике
01:30:16
использовал не когда возможность есть
01:30:19
обычно для итерации и для обхода там
01:30:24
каких-то коллекции
01:30:25
центов листов сейчас сходим совместно
01:30:30
используется принцип стримов
01:30:33
вот может поэтому из операторов явном
01:30:36
виде собой на использовать
01:30:40
пытаетесь
01:30:44
следующий интерфейсы таким и диким
01:30:48
опять-таки
01:30:50
эти интерфейсы
01:30:52
дополнительный транзистор
01:30:54
рмм
01:30:56
они вам пригодятся скорее всего только
01:30:59
на собеседовании такие специфичные
01:31:02
разному
01:31:04
решаю такие большие академические
01:31:09
задачи которые в реальной жизни
01:31:12
обновлять
01:31:13
решать но
01:31:16
нас часто спрашивают
01:31:21
говорим так это очередь чтобы
01:31:26
[музыка]
01:31:28
вот допустим вам сказали нам нужно
01:31:31
реализовать
01:31:42
обычно правильный ответ
01:31:48
создать
01:31:49
очередь ноги взять имплементацию очередь
01:31:53
на основе рынке tlist когда вы создаете
01:31:58
linkit лист лист на основе любит листа
01:32:02
внутри линки 300 уже есть говоря
01:32:05
документация
01:32:09
вам ничего так надо вы это можете взять
01:32:13
из rigid листа
01:32:18
за делами
01:32:20
вот все вспомнит очередь тонны окно же
01:32:24
возвращаю
01:32:29
отличие от интересовались не
01:32:32
умеете штуки
01:32:39
итак свойства очередей
01:32:45
порядок там будет зависеть от того какой
01:32:48
конкретно лизации вы пользуетесь
01:32:51
очередь не может хранить пустые значения
01:32:54
но
01:32:55
ну и почему ты очень тоже быть
01:32:58
ограниченным размер но это лучше для
01:33:01
таких
01:33:02
однако подошва
01:33:12
[музыка]
01:33:17
какие методы есть 4 примерно то же самое
01:33:21
что у обычного места вы можете добавлять
01:33:26
но очередь вы не можете до бросили на вы
01:33:29
можете торец
01:33:31
можете получить самый первый элемент в
01:33:36
некоторых гравитации можете получить
01:33:38
последний элемент
01:33:40
на самом базовые самых базовых
01:33:45
интерфейсах 4 вы можете просто добавить
01:33:48
это подразумевается что уже в конец и
01:33:52
можете взять и
01:33:56
можно примерно как
01:33:59
обычно очередь магазин добавляется сзади
01:34:04
удаляются уходит
01:34:07
примерно эти же
01:34:09
методы
01:34:12
интерфейсе и
01:34:15
вот еще раз если нам нужно нужны
01:34:20
имплементация
01:34:22
труда очень пишем примерно вот так вот
01:34:26
на остановили любит лесть и
01:34:29
комментировал
01:34:32
стандарт
01:34:39
смотрите бросим этот код
01:34:45
это достать все понимают это почему
01:34:48
достался почему выводе элемент 1
01:34:56
так как мы этот элемент добавили 1 он
01:35:00
самый первый на
01:35:02
первый
01:35:04
этаж таки
01:35:08
наоборот
01:35:14
с листами и мастерами закончили так есть
01:35:21
интерфейс метр
01:35:24
можно провести аналогию с расширенным
01:35:28
листом если у листа есть это индекс но
01:35:33
он встроенных сам лист то в мы выйдем
01:35:37
индексом сами управляете вы сами
01:35:40
определяете какой индекс будет у
01:35:42
какого-то элемента
01:35:44
задаётся сразу и
01:35:48
ключ
01:35:50
индекс да и значение ключ
01:35:56
например у вас есть 3 элемента а с
01:36:02
близкими просто положите
01:36:06
c-max
01:36:08
вы должны положить а и указать что
01:36:12
будет индекс
01:36:14
ключ ключ
01:36:19
на
01:36:22
ключ и должны быть уникальными
01:36:25
тут включён будет являться буквы из ключ
01:36:29
от и у него элемент 1 есть у него
01:36:35
элемент тоже и ключ
01:36:39
ребят 5 включить должны быть уникальное
01:36:43
множество
01:36:46
факту а потому расширен и случае
01:36:51
это множество когда у вас только одни
01:36:57
ключей без лечения
01:37:02
кроме ключи
01:37:05
1
01:37:08
это ключи должны быть уникальное ну еще
01:37:12
так а есть негласное правило ключи
01:37:14
должны быть не изменяя
01:37:17
но это общее правило потому что если мы
01:37:20
начнем изменять ключи давай потом при
01:37:22
изменить после изменения можно
01:37:26
[музыка]
01:37:28
может быть числа буквы и любые объекты
01:37:33
которые сам напишешь но это опять таки
01:37:36
любые ссылочные объект
01:37:41
создать map с любым объектом ты можешь
01:37:45
но если хочешь быть уверен что
01:37:49
правильно всегда то в качестве ключей
01:37:53
должны меня например string он не
01:37:57
изменяем он отличный кандидат
01:38:00
чтобы нас еще объекты которые запишите и
01:38:04
запрещаете их и менять тоже
01:38:09
обряд
01:38:13
это ключ-значение
01:38:23
сейчас почитаем
01:38:28
подглядываю верит на слово pig
01:38:32
посмотреть до того через методы которые
01:38:36
до стрелки кальян есть нет
01:38:48
ума по сути структура элементарная база
01:38:52
данных
01:38:53
я бы так не сказал или сказал
01:38:59
ключ-значение
01:39:00
[музыка]
01:39:02
ну если не нравится думать так о чем
01:39:07
гнид
01:39:22
интерфейс и обрати внимание у него
01:39:24
generic состоит из двух типов так и
01:39:28
если вы листов с это
01:39:32
моцион коррекции там один generic один
01:39:36
тип
01:39:40
карты тип ключ
01:39:48
самая популярная
01:39:50
инфильтрация
01:39:51
[музыка]
01:39:52
пальто штамма
01:39:55
позволяет доставать элемента за
01:39:59
константное время
01:40:01
особенно из последних имплементации что
01:40:04
я очень круто
01:40:09
итак хэш таблица по поводу хэш-таблицы
01:40:12
усмотрение я вам тоже расскажу
01:40:16
интересная штука
01:40:20
тестами тоже множество она где-то
01:40:24
хранить и себя но не гарантирует порядок
01:40:29
порядке и
01:40:32
но и и
01:40:35
тех питера ваться отдаваться на тоже в
01:40:38
любом порядке .
01:40:40
for each
01:40:42
не так как там раньше
01:40:47
положили 1 достали мы можем положить
01:40:50
порядке а потом когда
01:40:53
суры что
01:40:55
ядра так и порядок может быть любой
01:41:00
опять-таки 3 мы
01:41:02
уже будет упорядочена
01:41:06
как правило либо если мы не
01:41:12
помолчали
01:41:16
доставать и вложить элементы в такие
01:41:20
мамы медленнее чем fashion а потому что
01:41:24
мы когда растут и упорядочивает
01:41:27
быстро но зато если уж нам по-любому
01:41:30
нужно сортировать
01:41:32
удобно пользоваться ей дополнительно
01:41:35
сортировать не
01:41:38
linger кошмар
01:41:41
как вы наверное догадываетесь по слова
01:41:44
linked это мэр на основе сделанных
01:41:49
списков
01:41:51
примерно как you get a
01:41:56
list with
01:41:59
younger
01:42:05
общем здесь тоже сотни у нас много
01:42:09
рассказанных
01:42:11
когда мы от одного
01:42:14
элемента по цепочке переходим по всем
01:42:18
странам
01:42:23
по методам тоже ничего
01:42:27
особенно
01:42:29
бабы метода
01:42:31
get
01:42:34
получить что-то
01:42:37
если допустим в листе мы получаем и
01:42:40
яндекс устроенному да вот здесь нет по
01:42:43
ключу
01:42:53
записать
01:42:56
можно что-то могу показать
01:43:00
можем удалить по ключу можем получить
01:43:04
список всех ключей отдельно
01:43:07
дверцы
01:43:09
можно получить список всех значений
01:43:15
служебные
01:43:18
медынский
01:43:20
то есть можно найти какие-то значения
01:43:24
конкретно
01:43:27
значения а
01:43:29
мы у всех коллекций быть танца 3 ст мы
01:43:35
том числе можем узнать размер
01:43:45
ну то что мы с вами что попробовали есть
01:43:49
возможность создавались неизменяемые
01:43:52
коллекции с помощью
01:43:54
литров на
01:43:56
через листков опять-таки это с 9 травы
01:44:01
тут все хорошо до тех пор пока нам не
01:44:04
нужно их менять если нужно менять
01:44:07
такой подход не побед
01:44:11
водите внимание как создается
01:44:15
map конца
01:44:21
задается по паре то есть значение при
01:44:24
значении как лечения через
01:44:34
да а главное чтобы было чётное значение
01:44:39
тракторов
01:44:43
если нечетная
01:44:49
так то еще
01:44:58
map значение вообще любой типа может
01:45:01
быть то
01:45:03
смотрите вы создаете мы здесь указываете
01:45:07
что ключ например это же
01:45:09
значение стрим вы можете создать любой
01:45:14
маг с любой комбинации вот этих типов
01:45:18
дать если вы задали менеджер очевидно
01:45:22
шамаце сюда передавать как ты ведь
01:45:35
но конкретный тип плане исследования да
01:45:40
смою ты можешь указать там базовые темы
01:45:44
какое то
01:45:46
можно передавать его конкретно
01:45:49
организацию
01:45:53
хорошо чем вопрос и
01:45:57
вообще в целом по коллекциям
01:46:00
[музыка]
01:46:07
я
01:46:21
главное замечание прогресс м еще до того
01:46:24
как вы начали писать до что спользовать
01:46:27
generic
01:46:30
вас будет приближаться напиток и
01:46:34
запускать давайте сразу
01:46:38
именно контейнерный тип
01:46:52
например
01:46:54
задание 40 знаний большинство сильно
01:46:57
спойлерить
01:46:59
несложно
01:47:03
случайные числа бы уже задавали и когда
01:47:06
работали смеси там есть реально спада
01:47:10
это можно делать
01:47:13
учеников с помощью r является полностью
01:47:16
чаем
01:47:21
оператора
01:47:23
здание 41 у
01:47:26
вас есть лист список на а
01:47:31
в обычной жизни вы бы его проходили
01:47:33
через for
01:47:35
придется смотреть как использовать и
01:47:38
трата
01:47:41
вспомните для самого списка с один
01:47:54
из самого объекта можно получить их
01:47:57
литератор но и дальше
01:48:18
адрес отеля то есть отчет пропустил так
01:48:25
40 41 по выглядит довольно легко
01:48:31
отсюда из учеников все так чини ков с
01:48:35
помощью
01:48:40
он самом деле все домашние работы
01:48:42
выглядит несложно никаких там томатов
01:48:46
заводов
01:48:48
используют готовые методы ясно что и
01:48:52
сбывать 9
01:48:57
до
01:49:00
здание 40 можно использовать
01:49:06
ну
01:49:09
думаю
01:49:11
сильно облегчит вам жизнь
01:49:15
если хоть использоваться
01:49:19
хорошая идея
01:49:26
если у меня какие-то
01:50:05
[аплодисменты]
01:50:07
седан
01:50:11
опять-таки легенду зрительные оценки
01:50:16
на ваше усмотрение
01:50:18
отрицательное мне не важно
01:50:26
как вы решите таки будут
01:50:45
[аплодисменты]
01:50:49
небольшой новый тему еще 7
01:51:02
небольшой
01:51:07
я
01:51:11
рассказываю немножко
01:51:14
пакеты
01:51:38
пакеты и вам особо не рассказывал
01:51:41
давайте все таки я решил
01:51:46
учебники она на полстранички полторы
01:51:51
спички
01:51:53
учебное время терять
01:52:01
раз будет ходить помните
01:52:16
тема называется исключение пуджа вам что
01:52:19
такое исключение
01:52:21
назовем это ошибки
01:52:24
здесь
01:52:28
ошибка и во время дополнения
01:52:31
вот такая вот штука
01:52:35
это
01:52:37
ошибка времени выполнением факт это те
01:52:40
же исключения
01:52:45
русском языке xf
01:52:48
каждый раз когда у нас во время
01:52:51
выполнения
01:52:52
какая-то ошибка вы видите такой красный
01:52:56
код
01:52:58
рейса так называемый значит что ваши
01:53:02
годы произошло exception-ы в течение
01:53:08
java есть механизм как управлять этими
01:53:11
риск учений например вы можете написать
01:53:13
код
01:53:15
который будет ловить эти исключения и
01:53:20
обрабатывайте какие-то другие способы
01:53:22
то есть
01:53:24
не кидать ошибку
01:53:27
что происходит когда ошибка данном
01:53:31
случае ваш дополнение вашего хода
01:53:34
останавливаться на месте
01:53:43
например вот здесь
01:53:46
ошибка
01:53:48
привезла все программа дальше не
01:53:53
прекратили бы выполнением и получили от
01:53:56
красного до
01:53:59
конца ничего не доделали так вот вы
01:54:03
можете управлять это ошибкой вы сможете
01:54:05
отловить как-нибудь обработать не
01:54:09
отработать и позволить
01:54:13
выполняться дальше
01:54:16
все это делается с помощью механизма
01:54:24
там есть целая иерархия
01:54:27
ошибок
01:54:32
самый базовый интерфейс строк пробыл он
01:54:36
объединяемся вообще все возможные ошибки
01:54:39
исключения
01:54:41
тут слева ведут рыбы
01:54:45
это такие ошибки как
01:54:49
[музыка]
01:54:52
техники которые вы не можете как-то
01:54:54
контролировать
01:54:55
не может так
01:55:00
получается есть и тип ошибок которые
01:55:03
туда агониста бесполезно
01:55:06
машине получилось или
01:55:11
разрыв соединения
01:55:14
то есть ошибки которые не относятся к
01:55:18
тому году которые даны что может у вас
01:55:20
там системном порты
01:55:23
так что вот это вот с левой стороны rr
01:55:27
лиры к разработчикам они неинтересны
01:55:29
если они падают но это никак не не
01:55:32
должны обрабатывать это общение нашу
01:55:34
проблему без меня есть это все должны
01:55:38
заканчивать а
01:55:41
как разработчики мы можем контролировать
01:55:43
обрабатывать любой тип исключения ошибок
01:55:48
до так называемой алекс экшена по схеме
01:55:51
мы уже можем делать что хотим их можно
01:55:56
создавать можем даже новые ошибки
01:55:59
кидайте любое место старый мы можем
01:56:02
обрабатывать и
01:56:04
[музыка]
01:56:05
не останавливает не обрабатывать их
01:56:08
значит мне
01:56:09
останавливает выполнение программы
01:56:11
позволит programmer завершится
01:56:14
x обшивает делятся на
01:56:18
проверяемые исключение и не проверяем
01:56:21
что значит проверяем это когда ваш код
01:56:25
не будет компилироваться до тех пор пока
01:56:27
вы не обработать
01:56:30
[музыка]
01:56:35
проверяем ошибок не так много
01:56:40
дальше работать с файлами и
01:56:43
глаз и которые работают спаммеры они
01:56:47
могут кидать проверяемые ошибки например
01:56:50
если мы захотим дернуть метров откроем
01:56:54
меню файл от мы просто обязаны
01:56:57
обработать ошибка связана с тем что что
01:57:01
делать если этого файла
01:57:05
обязаны отработать и где папа данные и
01:57:09
не работает что летальности не сделаем
01:57:11
наш код даже не скадрировать
01:57:15
требование на как разработчику хотим мы
01:57:18
не хотим но обработать
01:57:20
называется арбат
01:57:23
кроме выработанных есть огромные слой
01:57:27
необрабатываемых
01:57:29
например
01:57:33
оснащались я думаю сне
01:57:36
например при делении на на 0 при выходе
01:57:40
из границ массива
01:57:43
[музыка]
01:57:45
exception когда мы
01:57:48
не изменяем грег коррекцию изменить все
01:57:53
это не обрабатываем ошибки а
01:57:58
значит не обрабатывали то есть нам
01:58:00
компилятор не будет настаивать на том
01:58:03
чтобы мы их обрабатывали но мы можно
01:58:06
месяца hotels на
01:58:09
самом деле обрабатываемой ошибки они но
01:58:13
выглядит странно единственном
01:58:16
странно что заставляет программисты их
01:58:19
обрабатывать потому что всегда там есть
01:58:23
механизм как обойти если мы нескольких
01:58:26
групп работать миксера не будем
01:58:29
такое решение но сам факт
01:58:33
сам факт что есть те которые на которые
01:58:36
мы обязаны
01:58:38
отреагировать и те на которые можно
01:58:41
забить
01:58:44
так как у на тут воспроизвести
01:59:02
убивать такой нехороший
01:59:05
упадет на этапе
01:59:11
я покажу на примере года
01:59:14
[музыка]
01:59:16
посещу покажешь ничего не отчаивайтесь
01:59:28
очередь менялась вот наш
01:59:33
эксперимент и его этот старт
01:59:46
старт есть потом на
01:59:53
это можно узнать из актриса дыма java
01:59:59
все дальше наш код не пошел
02:00:02
как обрабатываются с action и
02:00:09
func
02:00:12
[музыка]
02:00:18
иголки ловить
02:00:26
вам просто необходимо но чтобы реально
02:00:29
обрабатывать
02:00:33
гипотетически
02:00:37
ком вместе может упасть шибко
02:00:45
вы можете обернуть этот код блок тропич
02:00:51
.
02:00:53
вы думаете даже или должны обернуться
02:00:58
код бог
02:01:01
этим вы говорите что я вот думаю что тут
02:01:05
можно то шибко
02:01:08
я не уверен
02:01:10
будет тебе лет
02:01:13
но на всякий случай я оберну его в драке
02:01:16
как только вы это оборачиваетесь троя
02:01:18
будет получается получается полный
02:01:20
контроль над ошибками или что происходит
02:01:23
если ошибка будет вы можете поймать
02:01:26
блоки течь что значит поймать а
02:01:30
это значит что если будет ошибка новые
02:01:34
ним не свалитесь вот сюда сразу же
02:01:36
рабочий стол
02:01:38
об исламе здесь вот этот вот участок
02:01:40
кода отсюда и здесь вы уже можете
02:01:44
написать код который как-то обработаем
02:01:49
причем
02:01:51
давайте
02:02:00
пойти пройди важно не даже сегодня очень
02:02:05
рада ничего так идет наши выполнение
02:02:08
программы
02:02:12
вот мой блоки трой пытаемся что-то
02:02:14
делать
02:02:15
если бы это был не бог правит
02:02:19
после этого все у нас мы закончили нам
02:02:24
все выполнение от окна старица мы
02:02:28
провалились под бок вещь
02:02:57
это все делаешь
02:03:00
наглядно показать что происходит
02:03:05
вы начали работать в блоге правильно
02:03:11
края тут происходит ошибка все дальше
02:03:14
код не пойдет мы вот этот
02:03:17
уже не выполнить у нас ошибка нас
02:03:20
случилась исключительная ситуация так
02:03:23
как мы выходим не наружу
02:03:29
в итоге
02:03:31
после этого кода не выполняется была
02:03:35
ошибка
02:03:37
дальше можем
02:03:40
обработать
02:03:45
обработки ты ситуации ну все стало
02:03:54
называться залакировать
02:03:58
знаем что лента и
02:04:05
смотрите дальше код программы продолжает
02:04:08
выполняться
02:04:10
мы не получили как ставишь на
02:04:13
отличие от предыдущих разов правда тут
02:04:16
вообще ничего красного нет
02:04:20
но произошла ошибка мы это увидели
02:04:24
пологом и в наш массив там ничего нет не
02:04:28
добавилось
02:04:30
опять-таки как обрабатывать эти
02:04:32
исключительные ошибки в каком случае
02:04:36
нам выходить из приложения в таком не
02:04:39
выходить есть огромный плюс случаев
02:04:42
когда мы все равно после пекина
02:04:45
исключения например нам банк аллах
02:04:48
приходит
02:04:51
может не очень
02:04:54
либо даже если tote bag приходит
02:04:57
отрицательная сумма
02:05:02
катета к исключительно 1 оценок акта или
02:05:06
кто-то передает деньги
02:05:09
это
02:05:14
что-то
02:05:16
непонятно или
02:05:23
там если
02:05:25
опять таки где любит вы работаете с
02:05:28
деньгами и вас
02:05:31
политическому поражение получилось
02:05:33
деление но вы не можете закончить
02:05:36
транзакцию запечатлена также
02:05:39
непрятно она не прогнозируется это не
02:05:43
должно быть
02:05:44
покидаете вы сейчас
02:05:49
получаете их сообщники закрывайте не
02:05:52
закончив ничего если вы видите что
02:05:55
стаксель такая уж и страшная
02:05:57
например и вы как ты это может
02:06:01
обработать чтобы старейшая логика не
02:06:04
пострадала вы можете поймать этот это из
02:06:08
исключения как ты обработать но и жить с
02:06:11
этим дальше
02:06:14
это общая философия давайте еще раз
02:06:17
вернемся к блоку крайним кетч
02:06:20
что
02:06:22
блоком троллинг тут все домой полярным
02:06:27
горки 3 вы пишете свой обычный год
02:06:29
которые может выполняться может не
02:06:32
выполниться
02:06:35
дальше глотки сам переборка в печь может
02:06:39
быть много
02:06:40
бесконечно можно отлавливать разные
02:06:44
ошибки не в зависимости от тех или иных
02:06:48
ошибок
02:06:49
обрабатывать отдельности
02:06:54
еще когда
02:07:01
раз сюда придет если вообще будет
02:07:05
нашивка сюда придет вот перенапряг сама
02:07:09
сущность ошибки там будет описано
02:07:12
что пошло не так
02:07:18
в общем и
02:07:20
вся информация что вы вы вы видели в
02:07:23
стрессе
02:07:26
тип ошибки из-за чего это все прошло
02:07:29
если вы просто скроем тревино ну ниче не
02:07:32
будем делать что мы узнаем узнаем что
02:07:36
аларма там ошибка черт пошла не так
02:07:40
информации совсем мало
02:07:43
но мы можем получить любую информацию из
02:07:47
этой переменной сейчас я у
02:07:52
нее есть
02:07:55
причина то есть ансаб охота перешли
02:08:00
есть
02:08:02
вся информация об ошибке у нас уже есть
02:08:05
и
02:08:07
но мы можем где лили иным способом
02:08:11
вопрос обработать мы даже можем сделать
02:08:18
письме то при спектр с
02:08:22
который
02:08:29
сейчас видите
02:08:31
отличие помните вот это вот старая
02:08:34
добрая
02:08:35
когда падает раньше мы это не
02:08:38
контролировали
02:08:40
после того как подала вот эта ошибка у
02:08:44
нас заканчивалась выполнение
02:08:48
эту ошибку
02:08:52
рейс
02:08:55
выполняется дальше
02:08:59
один из способов логирования ошибок если
02:09:02
мы считаем что наша ошибка не критичная
02:09:05
мы можем распечатать с но
02:09:09
[музыка]
02:09:10
предавать
02:09:12
на нибудь
02:09:17
и
02:09:20
так дальше
02:09:23
я говорил 5 чуть могут быть
02:10:20
если блок strike он может быть только
02:10:22
один кетч и может быть сколько угодно ну
02:10:25
там есть важное правило
02:11:50
зависимости от того что вы сделали
02:11:53
неправильно доця разные ошибки например
02:12:00
когда мы меня неизменяемый массив
02:12:05
мы получаем ошибку он саппорта
02:12:09
это
02:12:12
показывал
02:12:14
картиночку добра иерархию
02:12:22
также идет runtime эксепшен он себя меня
02:12:25
все дни проверяемые исключение дальше
02:12:28
там такая очень большая сложно
02:12:33
которые группируют разные типы ошибок
02:12:36
одна из них будет
02:12:39
от поперечных section 1
02:12:43
медик exception
02:12:45
их очень много и если вы знаете люба
02:12:50
можете выяснить
02:12:52
сделал что-то неправильно если вы знаете
02:12:54
к кому классу принадлежит вашей oxigin
02:12:58
вы можете отлавливать конкретно этот
02:13:00
класс например все ошибки связанные с
02:13:03
арифметики эксепшен
02:13:05
вы хотите обрабатывать вот в этом блоке
02:13:09
sex action связанные с апартадо першин
02:13:13
эксепшен вы можете обрабатывать
02:13:16
блоки плюс вы можете там какое-то
02:13:19
дополнение информация и
02:13:26
[музыка]
02:13:38
можете уточнить какая дополнительная
02:13:40
информация ваших рецептов есть если я
02:13:43
просто кинуть
02:13:45
деталь мы с
02:13:48
написано чтобы ничего
02:13:54
не которые
02:13:56
дополнительно
02:14:01
но сам факт что пришли даже можете не
02:14:05
прятаться вот этой переменной и
02:14:07
вообще не нужно
02:14:11
ее значение
02:14:13
главное на чего будет отталкиваться что
02:14:15
вы будете здесь какие-то конкретные типы
02:14:18
section например вот в первом случае я
02:14:23
провалюсь метод
02:14:27
в кэш который здесь
02:14:31
потому что
02:14:34
это exception она подпадает
02:14:37
яркая
02:14:38
причем
02:14:40
добру пропадать все ошибки которые не не
02:14:46
только эти но и все которые наследуются
02:14:50
от него наследуется
02:14:55
редон my file system рим буфер section
02:14:59
то есть старых ногу и
02:15:01
персонаж reflex action
02:15:15
с помощью таких омс конструкции вы не
02:15:19
просто можете обрабатывать какие-то
02:15:21
ошибки а вы можете
02:15:24
группировать их
02:15:27
отлавливать разными kitchen и
02:15:31
обрабатывать их по-разному
02:15:33
скетч и вы есть одно очень важное
02:15:35
правило
02:15:37
вы сначала должны обрабатывать более
02:15:42
конкретные ошибки а
02:15:44
потом поле в общем то есть идти от более
02:15:46
конкретных более общий
02:15:49
как неправильно сделать но вы сразу
02:15:52
заметите
02:15:56
если вы попробуете
02:15:58
обработать сначала
02:16:03
общую ошибку да она сверху а потом вы
02:16:09
будете писать который обрабатывает эти
02:16:12
совершил более конкретно а то вы
02:16:16
получите ошибку компиляции почему потому
02:16:19
что компилятор увидит что мы и так все
02:16:24
ошибки обработаем вот в этом вот я
02:16:27
потому что сюда
02:16:29
сюда объединятся все вершины все
02:16:33
возможные и у нас не будет шанса
02:16:35
добраться потому что
02:16:40
сначала
02:16:43
теряется вот с этим эксепшен если мы
02:16:47
находим
02:16:48
соответствие
02:16:50
[музыка]
02:16:52
находим пойдем дальше случае мы пишем
02:16:57
указываем переменную общую exception-ы
02:17:02
у кода нету шансов вообще не готова
02:17:05
дойти до следующего блока потому что все
02:17:07
сто процентов эксепшен было лица вот
02:17:11
здесь вот
02:17:12
это то что говорят
02:17:18
или например runtime
02:17:22
action он тоже является родителем для
02:17:25
всех остальных он здесь сверху если мы
02:17:29
напишем тут runtime exception а
02:17:33
дальше
02:17:40
если мы от более общего выделить их
02:17:43
более
02:17:47
этим этот
02:17:51
вот в таком порядке можно сначала
02:17:55
обработали более конкретно
02:17:59
снизу в иерархии мы можем начать с неё а
02:18:03
потом
02:18:05
добавить эту но снизу вверх можно
02:18:10
сначала
02:18:12
если попробуем наоборот получим же
02:18:23
прям будет написано что это ошибка уже
02:18:28
поймана она фактически она будет бормана
02:18:32
уже здесь
02:18:33
если вдруг вы будете выстраивать
02:18:39
если вы будете делать несколько печи вы
02:18:42
должны следить за тем в
02:18:45
этом поможет
02:18:48
обработка иерархий обработка ошибок что
02:18:52
снизу вверх пайпера сначала вы
02:18:56
обрабатываете конкретное ну и напоследок
02:18:58
можете обработать
02:19:00
общем
02:19:07
она выглядела из добавить чуть-чуть
02:19:11
смысла
02:19:13
весь этот код
02:19:15
моим сначала политическую
02:19:18
если она у нас есть она мы напишем
02:19:23
сообщение потому мои воины
02:19:27
связано с носила то
02:19:30
есть это ошибка на предмет нас нет
02:19:34
массиву коллекцию
02:19:37
списку не имеет отношение или допустим
02:19:40
напиши связываем показать ну потому что
02:19:43
на сам ходе
02:19:44
если ошибка будет понравится списками и
02:19:48
потом
02:19:51
мы еще на всякий случай
02:20:00
это неизвестная ошибка
02:20:07
хочешь наша иерархия будет работать но
02:20:10
сначала мы рассматриваем конкретные
02:20:12
ошибки и
02:20:15
причем нет такого что
02:20:20
арифметик эксепшен является там
02:20:22
каких-нибудь и родителя
02:20:24
вот этого не должно
02:20:28
другую сторону
02:20:31
сверху вниз нельзя в этом случае что
02:20:36
получается что мы
02:20:37
двумя горками говорю что-то конкретное
02:20:40
если наша ошибка все равно случится
02:20:44
она не ловится не здесь и не здесь то
02:20:48
она попадет в третий год
02:20:51
вы представьте как у нас есть кейс кей
02:20:56
оператор
02:21:00
там есть в конце дефолт если
02:21:07
все равно
02:21:10
по дефолту делают примерно то же самое
02:21:12
что здесь и смываем что конкретно но по
02:21:16
итогу если все-таки ошибка было мое все
02:21:19
равно поймает и
02:21:23
так
02:21:26
трой kellynch может быть с одним кетч
02:21:30
может
02:21:31
с
02:21:34
но по крайней мере один кетч должен быть
02:21:42
очевидно 13 должен быть иначе
02:21:46
тоже не будут работать
02:21:48
плюс еще есть одно слово
02:21:52
3 новым словом
02:21:54
зарезервированные слова слова java кетч
02:21:58
еще и слова файл она тоже относится
02:22:03
[музыка]
02:22:24
вот теперь полный комплект
02:22:31
блок strike понятно этом пишет наш
02:22:35
обычный пор
02:22:37
ловкач мы сюда попадает только в том
02:22:40
случае если мы поймали ошибку причем
02:22:43
именно ошибку такого типа
02:22:46
указывает облака еще и
02:22:51
завершение еще этот файл и он
02:22:55
отрабатывает в любом случае было у нас
02:22:58
ошибка
02:22:59
или не было ошибки он отработает
02:23:13
то есть сценарий такой мы делаем блок
02:23:17
трой ошибка падает мои ловим кетчуп или не
02:23:22
лорен качу в итоге но фамилии
02:23:27
отрабатывает по любому второй вариант мы
02:23:30
выполняем что того ketroy ошибок не было
02:23:33
и
02:23:34
лог-файлы все равно отрабатывает
02:23:37
можно наверное подумать зачем вообще
02:23:40
этот блок файлами
02:23:44
ну почему бы этот блок вот здесь вот и
02:23:47
положитесь
02:23:52
раз он все равно выполняется
02:23:56
как вы думаете будет капсом и
02:24:12
она будет дар самой если наша программа
02:24:16
продолжит выполнять если мы где-то не
02:24:20
поймали наш
02:24:22
нашу ошибку
02:24:25
не один тельце не сработал там и до
02:24:29
этого до конца хода может не дойти вот
02:24:33
панели нам говорит что чтобы не
02:24:35
случилось
02:24:37
обработали мотоши необработанные даже
02:24:40
если вообще не было
02:24:43
выполнять
02:24:46
что засовываю засовывают закрыть иисуса
02:24:53
сканеры конечно когда вы работаете с
02:24:57
файлами вы можете открыть файл
02:25:00
[музыка]
02:25:04
может и вам нужно
02:25:08
закрыть
02:25:12
заблокированной блогов амиды рита дианы
02:25:16
барри варианты чтобы не случилось вы
02:25:18
должны очистить
02:25:29
такие вопросы есть
02:25:31
можно ли писать трой обеспечат можно
02:25:40
использовать файл
02:25:42
blob драйвер он обязательный дальше
02:25:45
обязательно либо кетч либо траве чем
02:25:49
когда мы используем печь
02:25:51
пирожки
02:25:56
вот принципе
02:26:02
почти все что вам нужно знать про
02:26:05
отлавливания ошибок опять таки и сейчас
02:26:08
мы говорим только про непроверяемые
02:26:11
ошибки проверяем и давайте уже будем
02:26:14
журить когда видим работать столами я
02:26:16
там вам
02:26:17
покажу
02:26:20
томас выбора нибудь потому что мы начать
02:26:22
файлами сможем работать не обрабатывая
02:26:24
проверяем наши еще фишка
02:26:27
exception
02:26:29
на самом деле вот все эти вот очки fixed
02:26:33
an
02:26:34
exception
02:26:36
все это обычное джона класса и
02:26:41
вы можете создавать свои собственные
02:26:43
exception-ы и кидайте о
02:26:46
4 прочим
02:26:54
делать о своих далеко
02:27:04
exception выглядит как обычный класс все
02:27:07
что им нужно чтобы стать
02:27:09
нужно
02:27:10
[музыка]
02:27:12
кстати наследоваться от
02:27:15
exception
02:27:21
ваши собственные к совершенству не
02:27:24
станет проверяемый и
02:27:27
ну как горят or не позволит вам дать
02:27:30
такие ошибки не обрабатывали если вы
02:27:33
будете наследоваться от ран prime-x
02:27:35
action
02:27:37
ваша ошибка становятся автоматически
02:27:39
неправильно
02:27:41
то есть компилятор не будет
02:27:44
настаивать чтобы вы редко перед и я
02:27:47
обрабатываю
02:27:56
например я тут мучился
02:27:58
делал какие-то операции чтобы сделать
02:28:02
ошибку всем можно сделать намного проще
02:28:04
можно сгенерировать из печенья это будет
02:28:13
за что на самом деле что то от
02:28:20
слова вопрос
02:28:25
new
02:28:29
[музыка]
02:28:32
вот такой блок кода он кидает ошибку и
02:28:35
кидать ошибку правильное наверно ему
02:28:39
привычнее
02:28:40
сказать по нашему вызывает о том
02:28:44
вызывает ошибку если мы этот блок кода
02:28:47
выполнив не в год кипра
02:28:59
потому что компилятор видишь дальше
02:29:12
если мы
02:29:17
если мы выполним этот код вне блока
02:29:20
трать на компилятору сейчас является
02:29:29
выполнение наших органов прервется при
02:29:33
любых других
02:29:39
если мы такие лодки
02:29:43
где мы обрабатываем давайте посмотрим
02:29:54
здесь мы втянули грантами с action
02:29:57
в этом году мы не попали в этот год тоже
02:30:02
не попали
02:30:04
в этот попали потому что к section
02:30:07
является родителем
02:30:09
мы попались
02:30:11
причем взгляд то что и попали вот наше
02:30:15
шик наш
02:30:17
завершилась
02:30:20
здесь которые за что то есть мы поберечь
02:30:23
да и что
02:30:27
так вот мы
02:30:29
можем кидать уже готовы ошибки которые
02:30:32
есть тип оранта на а можем кидать свои
02:30:35
собственные ошибки которые имели
02:30:40
[музыка]
02:30:54
яйца
02:31:16
мы можем кидать свои собственные ошибки
02:31:19
и
02:31:20
отлавливали опять-таки их
02:31:53
любовь
02:31:57
для чего то делать это отдельная тема но
02:32:01
общий принцип какое
02:32:05
не всегда
02:32:07
ошибка это то что
02:32:10
допустим деления на 0 может быть так
02:32:14
получится
02:32:15
вспомнить ваши другие домашние работы
02:32:23
вот например
02:32:24
овощи начинали прогнал вам нужно вернуть
02:32:31
[музыка]
02:32:32
какой-то сезон
02:32:36
ну как правильно обрабатывать ситуация
02:32:38
если придет цифра 5
02:32:42
всего 4 у нас сезона хотят неверный
02:32:45
индекс вы можете либо и
02:32:50
проверять до
02:32:53
[музыка]
02:32:54
соответствует соответствует ну а что
02:32:57
делать даже если в итоге from проверили
02:32:59
что что дальше от вы увидели что
02:33:03
это значение неправильно и дальше
02:33:10
делать
02:33:14
приходит
02:33:16
вы хотите обработать эту ситуацию
02:33:18
нормально какие важности можете что
02:33:22
сообщение отправить
02:33:24
такой нам на замену да
02:33:28
даже если ваш метод должен возвращать
02:33:31
строку а он должен быть сезон на
02:33:36
не может ты вечно чтобы
02:33:40
вы будете делать из меня нормально
02:33:44
причине нет браслет и случаев идеальный
02:33:47
вариант ошибку причем
02:33:51
можно создать свою собственную ошибку и
02:33:56
вода случае если придет неправильно
02:33:58
цифру 5 дальше ваших не может
02:34:03
быть чтобы все-таки какие-то задержки
02:34:06
что-то не придумать просто кидаете
02:34:08
пишите trance new exception или в ней вы
02:34:12
записываетесь что описываете что
02:34:16
возможны варианты 4
02:34:22
можете описать насколько подробно
02:34:25
насколько
02:34:26
читайте и также если допустим
02:34:31
использовать ваш класс
02:34:41
красивую который будет
02:34:45
что сделали так и
02:34:49
ссылка на
02:34:52
участок
02:35:02
то есть по факту
02:35:05
ошибки нет
02:35:07
чтобы произошло на самом деле было бы
02:35:12
вы попробовали бы терку передать ваш
02:35:15
класс там бы что-то сломалось по идее
02:35:19
ошибка и наверное все равно произошла но
02:35:23
может не только информативной вы
02:35:25
получаете можете переходить либо с
02:35:28
помощью тихов проверить
02:35:34
так
02:35:36
плюс можно
02:35:39
отлавливать сшивки позже можно вкинуть
02:35:42
здесь
02:35:49
тебя будет этот метод а отлавливать
02:35:52
другой
02:36:17
на следующем занятии
02:36:19
что это проговорим
02:36:56
вот мы можем вызвать какой-то метод
02:37:01
потом
02:37:03
начинаем выполнять другой метод тот
02:37:06
метод тоже может вызвать это еще и
02:37:13
он
02:37:17
я к тому что
02:37:20
можно
02:37:23
отлавливать уже у
02:37:25
вас есть какая то
02:37:33
прямо сейчас
02:37:35
вы можете просто кинуть
02:37:42
увели проверили надо гадать не надо на
02:37:46
эффективными
02:37:47
да она окажется больше главном есть
02:37:52
такой battle когда мы пишем 1-ый класс
02:37:55
или классы которые в которых содержится
02:38:01
обработки ошибок то есть до этого не
02:38:04
выбрасывается разный момент методами а
02:38:06
обрабатывается в совсем другом
02:38:22
потому что здесь сам ход явно не бросает
02:38:26
руки ошибки метод который вызывается
02:38:29
локатора и
02:38:36
принципе я рассказал
02:38:39
ну процент 80 системы
02:38:45
следующую страницу немного по этим
02:38:49
краснощек файлы где мы сможем
02:38:54
применить
02:38:57
эксепшен у меня к чему ты все равно не
02:39:01
нуждается выполнение программы
02:39:05
вопрос
02:39:21
так смотри у тебя лист от
02:39:25
потом спринта же
02:39:34
третья строчка снизу еще одна ошибка она
02:39:38
не отваживается на жирнее
02:39:47
перчатка
02:39:52
хорошо вопрос о нас есть
02:40:07
вопрос
02:40:08
можно ли определить конструктор
02:40:15
самые распространенные тебя таки это все
02:40:18
можно загуглить и вот
02:40:27
[музыка]
02:40:30
например
02:41:08
наворотил у
02:41:11
нас есть майком exception наследуются
02:41:15
уже от кого так классно то другой класс
02:41:19
у него там есть уже методы уже есть
02:41:21
конструкторы и один из конструкторов
02:41:24
есть который внутри принимает
02:41:30
самом деле можно разными способами
02:41:34
инсценировать
02:41:37
ошибок но самый священный с помощью
02:41:40
конструктора причем я
02:41:42
свой собственный конструктор здесь
02:41:45
написал без параметров а внутри я нужно
02:41:48
вызываем конструктор с правилами и
02:41:50
передают туда так будто константа
02:41:53
дискрипшн и
02:41:57
теперь
02:42:01
[музыка]
02:42:09
я
02:42:10
ее отлавливает
02:42:26
если не кинул и
02:42:31
вот именно
02:42:34
так
02:42:40
вот беда именно мою ошибку
02:42:53
во-первых увидели что эти бумаги section
02:42:56
3 описание и
02:42:59
вот дальше уже вложенность актрис
02:43:03
первоначальная ошибка появилась здесь
02:43:06
вот
02:43:09
первоначально
02:43:11
потом она отвалилась здесь тоже в ираке
02:43:16
таких
02:43:20
enterprise класса
02:43:23
рабочий такой спектре состоит из десятка
02:43:27
из десятков ложных штук ну где можно
02:43:31
посмотреть
02:43:36
хороший вопрос
02:43:40
был по поводу того как
02:43:44
преступному могут быть и параметры вы
02:43:47
можете сюда передать это параметры на
02:43:49
основе этих параметров
02:43:51
все более
02:43:54
красивы сами
02:44:16
1:37 зачем едином отдельные на месте
02:44:20
делать с количеством дней надо
02:44:23
отдельный на меч случается вещества
02:44:26
теней смотри
02:44:29
я это все вижу в одном ономи
02:44:35
почему нет
02:44:42
[музыка]
02:44:46
нет это главное ограничение очень
02:44:48
нехорошо но он следовать нам нельзя
02:44:55
так насколько говорили можно все будет
02:44:59
да можно все водяной я вижу это все в
02:45:02
одном иначе мы рано ли рование кода или
02:45:06
просто по сезонам вписать например 92
02:45:08
дня
02:45:09
93
02:45:16
одно другому не мешает ты где-то
02:45:19
запишешь эти цифры будет их
02:45:30
[музыка]
02:45:36
использовать
02:45:38
было
02:45:40
добавить polygon qts нам вот мы добавили
02:45:45
поле но факту
02:45:48
после перемен
02:45:51
37
02:45:54
независимости будет нашему дней в этом
02:45:57
сезоне
02:45:59
так или иначе ему придется
02:46:02
использовать брать какую-то переменную
02:46:06
которая будет содержать количество
02:46:13
я вижу не
02:46:25
так еще вопросы
02:46:36
все просто сделать все что есть а
02:47:01
так ну тогда всем пока я чем
02:47:07
[музыка]

Описание:

it-academy video

Готовим варианты загрузки

popular icon
Популярные
hd icon
HD видео
audio icon
Только звук
total icon
Все форматы
* — Если видео проигрывается в новой вкладке, перейдите в неё, а затем кликните по видео правой кнопкой мыши и выберите пункт "Сохранить видео как..."
** — Ссылка предназначенная для онлайн воспроизведения в специализированных плеерах

Вопросы о скачивании видео

mobile menu iconКак можно скачать видео "Brk-JC1-11-22_Cыч Игорь_Программирование на Java_№11_02.03.2022"?mobile menu icon

  • Сайт http://unidownloader.com/ — лучший способ скачать видео или отдельно аудиодорожку, если хочется обойтись без установки программ и расширений. Расширение UDL Helper — удобная кнопка, которая органично встраивается на сайты YouTube, Instagram и OK.ru для быстрого скачивания контента.

  • Программа UDL Client (для Windows) — самое мощное решение, поддерживающее более 900 сайтов, социальных сетей и видеохостингов, а также любое качество видео, которое доступно в источнике.

  • UDL Lite — представляет собой удобный доступ к сайту с мобильного устройства. С его помощью вы можете легко скачивать видео прямо на смартфон.

mobile menu iconКакой формат видео "Brk-JC1-11-22_Cыч Игорь_Программирование на Java_№11_02.03.2022" выбрать?mobile menu icon

  • Наилучшее качество имеют форматы FullHD (1080p), 2K (1440p), 4K (2160p) и 8K (4320p). Чем больше разрешение вашего экрана, тем выше должно быть качество видео. Однако следует учесть и другие факторы: скорость скачивания, количество свободного места, а также производительность устройства при воспроизведении.

mobile menu iconПочему компьютер зависает при загрузке видео "Brk-JC1-11-22_Cыч Игорь_Программирование на Java_№11_02.03.2022"?mobile menu icon

  • Полностью зависать браузер/компьютер не должен! Если это произошло, просьба сообщить об этом, указав ссылку на видео. Иногда видео нельзя скачать напрямую в подходящем формате, поэтому мы добавили возможность конвертации файла в нужный формат. В отдельных случаях этот процесс может активно использовать ресурсы компьютера.

mobile menu iconКак скачать видео "Brk-JC1-11-22_Cыч Игорь_Программирование на Java_№11_02.03.2022" на телефон?mobile menu icon

  • Вы можете скачать видео на свой смартфон с помощью сайта или pwa-приложения UDL Lite. Также есть возможность отправить ссылку на скачивание через QR-код с помощью расширения UDL Helper.

mobile menu iconКак скачать аудиодорожку (музыку) в MP3 "Brk-JC1-11-22_Cыч Игорь_Программирование на Java_№11_02.03.2022"?mobile menu icon

  • Самый удобный способ — воспользоваться программой UDL Client, которая поддерживает конвертацию видео в формат MP3. В некоторых случаях MP3 можно скачать и через расширение UDL Helper.

mobile menu iconКак сохранить кадр из видео "Brk-JC1-11-22_Cыч Игорь_Программирование на Java_№11_02.03.2022"?mobile menu icon

  • Эта функция доступна в расширении UDL Helper. Убедитесь, что в настройках отмечен пункт «Отображать кнопку сохранения скриншота из видео». В правом нижнем углу плеера левее иконки «Настройки» должна появиться иконка камеры, по нажатию на которую текущий кадр из видео будет сохранён на ваш компьютер в формате JPEG.

mobile menu iconСколько это всё стоит?mobile menu icon

  • Нисколько. Наши сервисы абсолютно бесплатны для всех пользователей. Здесь нет PRO подписок, нет ограничений на количество или максимальную длину скачиваемого видео.