Посмотрев видео про стримы в начале изучения джавы, это видео казалось запутнным и сложным. Спустя 8 месяцев изучения джавы и поработав и написав пет проект с использованием спринга , и занявшесь уплотнением знаний стримов и т.д., наткнулся на видео снова , насколько же просто смотреть и все понимать )
Впервые до Java узнал о функциональном подходе в Python (цепочки методов map, reduce, filter, ...). Python - хороший язык для понимания функционального подхода в первый раз.
Спасибо за видео, очень доступно объясняете. Понятные примеры со сравнением аналогичной логики программы с использованием старых методик(for, if..). Побольше бы таких видео..
Respect! очень здорово объясняешь/ я как 20 дней изучаю сам Stream не смог сделать общую понятию про это/ спасибо тебе !!!! других новый материалов тоже объяснил бы так как сравнив со старой версий//// спасибо тебе !
Здорово! Мне понравилось изложение материала. Я сейчас как раз изучаю Java и не так давно проходил Streamы, и в вашем видео было всё понятно, за одно повторил их немного.
Спасибо за хорошее видео. Было бы хорошо если вы продолжили снимать на примерах про нововведения Java 8, такие как: Лямбда, Optional, Функциональные интерфейсы
Группировку старым способом я бы сделал по другому - не сначала запихал все специальности в мапу, а при обходе коллекции проверял на наличие ключа, если такой ключ есть, то добавляем сотрудника в лист значений, если нет, то создаем новый Entry. Да и цикл в старых способах нужно использовать foreach который - кода было бы гораздо меньше
Крутое видео, как и все остальные, очень нравится смотреть талантливых авторов, спасибо за труды) И еще вопрос, где можно попрактиковаться по Java Stream API? Может быть есть книги, где много практических заданий или сайты, очень хочется самому порешать что-то. Буду очень благодарен Вашему фидбеку)
Лично я уже забыл, когда в прод деливерил код без StreamAPI =) я когда вижу не стрим код в обычной бизнес логике (не перфоменсной), принимаю его как legacy
Функциональные интерфейсы (а именно возможность заменить его лябдой, как и сами лябды) появились уже в Java 8, List.of делает то же самое, что и старый Arrays.asList возвращая тот же самый иммутабельный список. Так же в Java 8 появился и method reference, который очень активно используется в примерах, но никак не обозначается и не объясняется. Но вообще интересное видео) правда сам ещё пишу на восьмой джаве, но похоже пора уже осваивать одиннадцатую)
По функциональным интерфейсам и метод референс - согласен на 100%. А вот asList() возвращает мутабельный лист, List.of() - иммутабельный. И спасибо за отзыв :)
@@EugeneSuleimanov думаю, неужели меня уже склероз хватил в мои то годы?) в общем полез в доки и напротив asList() стоит "Returns a fixed-size list backed by the specified array", понимаю что это не совсем иммутабельный лист, но на практике почти всегда он таковым и является, так что вы правы в том, что разница всё-таки есть
@@_Vertan_ тоже самое - полез в доку после того, как написал - сомнения появились. По факту вы правы - на практике, в 99% случаев - разницы нет. Спасибо за ваше уточнение.
С удовольствием пересматриваю данное видео и возник вопрос: насколько мы теряем в скорости, когда применяем стримы? Критично ли это при работе с большими коллекциями?
Есть хорошая статья: dzone.com/articles/java-performance-for-looping-vs-streaming В целом, на современных JVM и оборудовании - без разницы :) Но, в каждом конкретном случае нужно замерять самому для проверки.
Eugene, смогу ли я под вашим началом написать робота для торговой платформы, которая дает приказы на покупку-продажу в зависимости от новостных API данных , которые приходят с другого сервера ? Я даже не знаю к какому виду программирования это относится, не могли бы мной заняться этой темой? О себе, с математикой, физикой дружу в программировании знаний нет.
Начал переписывать в IDEA Ваш код и наткнулся на кучу красных подчеркиваний (SDK 11 использую, а вот project language level также 11). Может нужен другой project level?. Спасибо за ценные знания.
@@EugeneSuleimanov почему не рассказали про метод comparing? ведь Comparator ассоциируется с реализацией единственного абстрактного метода compare(T o1, T o2).
Спасибо за видео конечно, но причем тут 11я java? Stream API добавили не после 8й, а непосредственно в 8й вместе с лямбдами, функциональными интерфейсами, Optional и Date/Time API. В 11й если не ошибаюсь добавили только var для лямбд и что-то еще по мелочи. Вы прежде чем собеседовать людей сами то смотрели что и в какой версии появилось?
Вероятнее всего, план в текстовом файле написан не корректно и вводит в заблуждение, но, не могли бы вы скинуть тайминг где я сказал, что функционализмов появилась в 11 версии? Спасибо.
Как сказать, на моих проектах - нововведения катастрофически облегчают разработку. Стримы, функциональщина и т.д. А вот отступление от предыдущей модели - это есть, точно :)
что за дичь? в java 8 уже был Arrays.asList, функциональные интерфейсы появились не после java 8, а в ней же они и появились! кстати для перечислений лучше использовать равенство. Удивительный человек сам не знает что нового где добавили но собеседует и критикует других людей
По поводу сравнения енамов - здесь холивар идет давно и я, конечно же, изучал аргументы Блоха по этому поводу. Поэтому говорить, что лучше, а что нет - крайне спорный вопрос и однозначного ответа на этот вопрос нет. Все крайне зависит от ситуации. В любом случае спасибо, всегда рад конструктивной критике, в реальной жизни этого часто не хватает. Хотя, я бы не был столь резким в высказываниях.
Одно удовольствие смотреть твои обучающие видео.
Спасибо за отзыв!
Этот мужик заслуживает больше лайков и подписчиков!
Как здорово ты объясняешь, Евгений!!! Продолжай, пожалуйста!
Спасибо за отзыв, Наталья!
Сегодня это видео мне очень помогло, не знаю, чтобы я без него делал. Спасибо!
Спасибо за отзыв!
Рад, что материал оказался полезен.
Блин, Женька как всегда красавчик) вот стримы - вот так вот с ними работать надо. Все понятно и без воды! спасибо
Спасибо за отзыв:)
Как всегда, огромная благодарность за видео!
Спасибо за отзыв :)
Посмотрев видео про стримы в начале изучения джавы, это видео казалось запутнным и сложным. Спустя 8 месяцев изучения джавы и поработав и написав пет проект с использованием спринга , и занявшесь уплотнением знаний стримов и т.д., наткнулся на видео снова , насколько же просто смотреть и все понимать )
мне после javascript и без явы всё понятно, в яваскрипте это по дефолту
Впервые до Java узнал о функциональном подходе в Python (цепочки методов map, reduce, filter, ...). Python - хороший язык для понимания функционального подхода в первый раз.
++++
Красавчик! Дай бог тебе здоровье и много много хорошего! Спасибо за твои видосы.
Спасибо :)
Спасибо за видео, очень доступно объясняете. Понятные примеры со сравнением аналогичной логики программы с использованием старых методик(for, if..).
Побольше бы таких видео..
Спасибо за отзыв!
Спасибо за Ваш труд! Коммент в поддержку канала.
Спасибо за поддержку!
Большое спасибо, Евгений. Очень хорошее понятное видео. Продолжайте, пожалуйста.
Спасибо за отзыв!
Ничего нового - Евгений как всегда всё разложил ну просто гениально.
Определенно лучшее видео!
Спасибо, всё упорядочено, сгруппировано и, как следствие, просто.
Спасибо за отзыв!
Respect! очень здорово объясняешь/ я как 20 дней изучаю сам Stream не смог сделать общую понятию про это/ спасибо тебе !!!! других новый материалов тоже объяснил бы так как сравнив со старой версий//// спасибо тебе !
Спасибо за отзыв, рад, что материал оказался полезен :)
комментарий для развития Вашего канала, спасибо за ценную информацию, успехов!
Спасибо!
Очень доступное объяснение, без воды и многословия.
Отличное видео на примерах. Спасибо за материал. P.S. Будет здорово увидеть похожее видео по новым фичам из Java 11)))
Спасибо за отзыв. Есть наработки по этой теме, но, не знаю, когда смогу выложить видео
3:35
Стоит упомянуть, что при List.of и тп -> создается Unmodifiable (Immutable) коллекция
Т.е с ним нельзя проводить операции replace/add/remove
Готовлюсь к собеседованию. Огромная благодарность за такой понятный урок!!!
Здорово! Мне понравилось изложение материала. Я сейчас как раз изучаю Java и не так давно проходил Streamы, и в вашем видео было всё понятно, за одно повторил их немного.
Спасибо за отзыв :)
Супер продуктивно Евгений ! Спасибо !
Спасибо большое. Очень нужное видео. Все понятно и по делу.
Спасибо за отзыв!
Комментарий для развития канала)
Спасибо вам!
Как всегда топ контент. Спасибо.
Спасибо за хорошее видео. Было бы хорошо если вы продолжили снимать на примерах про нововведения Java 8, такие как: Лямбда, Optional, Функциональные интерфейсы
Евгений, спасибо, крутой обзор
Спасибо за труды! Ты молодец! 👍👍👍
Спасибо за отзыв :)
Спасибо за понятное объяснение!
Спасибо, очень полезное практическое видео! Надеюсь, почитаю ссылки и буду еще более благодарен =)
Супер, все очень доходчиво 👍
Спасибо за отзыв!
Спасибо, отличный урок
пурум пурум))!
Спасибо за видео очень полезно
Спасибо большое за обьяснение))
Группировку старым способом я бы сделал по другому - не сначала запихал все специальности в мапу, а при обходе коллекции проверял на наличие ключа, если такой ключ есть, то добавляем сотрудника в лист значений, если нет, то создаем новый Entry. Да и цикл в старых способах нужно использовать foreach который - кода было бы гораздо меньше
Спасибо огромное
Спасибо за отзыв!
Спасибо за видео.
Спасибо за отзыв!
Благодарю!
Крутое видео, как и все остальные, очень нравится смотреть талантливых авторов, спасибо за труды)
И еще вопрос, где можно попрактиковаться по Java Stream API? Может быть есть книги, где много практических заданий или сайты, очень хочется самому порешать что-то. Буду очень благодарен Вашему фидбеку)
Спасибо за отзыв! Думаю, здесь наиболее полная информация
www.oracle.com/technical-resources/articles/java/ma14-java-se-8-streams.html
Спасибо!
Лично я уже забыл, когда в прод деливерил код без StreamAPI =) я когда вижу не стрим код в обычной бизнес логике (не перфоменсной), принимаю его как legacy
Спасибо
Здравствуйте! можете снять видео с объяснением аннотации в спринге и как можно написать свою)) спасибооооооо
Функциональные интерфейсы (а именно возможность заменить его лябдой, как и сами лябды) появились уже в Java 8, List.of делает то же самое, что и старый Arrays.asList возвращая тот же самый иммутабельный список. Так же в Java 8 появился и method reference, который очень активно используется в примерах, но никак не обозначается и не объясняется. Но вообще интересное видео) правда сам ещё пишу на восьмой джаве, но похоже пора уже осваивать одиннадцатую)
По функциональным интерфейсам и метод референс - согласен на 100%. А вот asList() возвращает мутабельный лист, List.of() - иммутабельный. И спасибо за отзыв :)
@@EugeneSuleimanov думаю, неужели меня уже склероз хватил в мои то годы?) в общем полез в доки и напротив asList() стоит "Returns a fixed-size list backed by the specified array", понимаю что это не совсем иммутабельный лист, но на практике почти всегда он таковым и является, так что вы правы в том, что разница всё-таки есть
@@_Vertan_ тоже самое - полез в доку после того, как написал - сомнения появились.
По факту вы правы - на практике, в 99% случаев - разницы нет. Спасибо за ваше уточнение.
@@EugeneSuleimanov вам спасибо за ваш труд, смотрю ваши видео по спрингу с большим удовольствием и пользой)
Евгений, так , уточнить бы. Вы сказали , чтобы сортировкой пузырька не пользовались, а что лучше ?) Какой алгоритм?
Крутотень
BigDecimal - зарплата тонко)
Лайк.
Время 14:56. Строка 48: matchAnyEnginner -> matchAnyEngineer
Спасибо за подсказку. Пропустил опечатку.
@@EugeneSuleimanov Даже не надеялся, что вы прочтете мой комментарий на столь давнем видео =)
Очень помогают ваши видео, спасибо!
@@Стрижков спасибо за отзыв
С удовольствием пересматриваю данное видео и возник вопрос: насколько мы теряем в скорости, когда применяем стримы? Критично ли это при работе с большими коллекциями?
Есть хорошая статья:
dzone.com/articles/java-performance-for-looping-vs-streaming
В целом, на современных JVM и оборудовании - без разницы :)
Но, в каждом конкретном случае нужно замерять самому для проверки.
@@EugeneSuleimanov Спасибо!
Спасибо!
Eugene, смогу ли я под вашим началом написать робота для торговой платформы, которая дает приказы на покупку-продажу в зависимости от новостных API данных , которые приходят с другого сервера ? Я даже не знаю к какому виду программирования это относится, не могли бы мной заняться этой темой? О себе, с математикой, физикой дружу в программировании знаний нет.
Евгений, пожалуйста, подскажите, как выглядел бы метод увеличения ЗП каждому сотруднику вдвое со стримами.
Привет по тебе очень хорошо видно, что ты отлично знаешь java. Не можешь подсказать где ты учил этот яп:) буду очень благодарен
Спасибо за видео. Использование стримов на много увеличивает производительность программы или это больше для красоты?
Стримы медленнее, но вы этого, скорее всего, даже не заметите.
Привет! А можно этого кода в Рэпо ? Если есть как тебя там найти ?
Очень сильно напиоминает англоязычное видео Amigoscode :))
Подскажите как можно грамотно обработать -NullPointerException- в рамках представленных стримов?
Если я верно понял вопрос, то
.orElse
.ifPresent
.or
Спасибо за урок! Вопрос такой не должен ли .iml файл тоже быть в гитигноре?
Спасибо за видео, как всегда супер
А как вы в идеи увеличиваете шрифт?
Спасибо :)
У меня: CTRL + колесо мыши вперед/назад
Но, это в настройках нужно включить
Начал переписывать в IDEA Ваш код и наткнулся на кучу красных подчеркиваний (SDK 11 использую, а вот project language level также 11). Может нужен другой project level?. Спасибо за ценные знания.
нашел еще 2 класа Specialist и Specialty и все встало на свои места
List of, если не ошибаюсь, вернёт иммутабильную коллекцию и если в дальнейшем надо в неё добавлять/удалять, то не подходит данный метод
Да, все верно. Но, в рамках данного примера, нам нужна была именно иммутабельная коллекция.
@@EugeneSuleimanov Забыл сказать спасибо за хорошо изложенный материал.
@@EugeneSuleimanov
а почему именно immutable была нужна?
@@EugeneSuleimanov
почему не рассказали про метод comparing? ведь Comparator ассоциируется с реализацией единственного абстрактного метода compare(T o1, T o2).
не хватает map и flatmap
Скажите пожалуйста какие недостатки есть у стримов ?
Недостаток, растрата памяти на копирование данных, чтобы уложить их в поток
топОрный! Проверочное слово "топОр", а не "тОпор".
Спасибо за видео конечно, но причем тут 11я java? Stream API добавили не после 8й, а непосредственно в 8й вместе с лямбдами, функциональными интерфейсами, Optional и Date/Time API. В 11й если не ошибаюсь добавили только var для лямбд и что-то еще по мелочи. Вы прежде чем собеседовать людей сами то смотрели что и в какой версии появилось?
Вероятнее всего, план в текстовом файле написан не корректно и вводит в заблуждение, но, не могли бы вы скинуть тайминг где я сказал, что функционализмов появилась в 11 версии? Спасибо.
прум-прум-прум )
Этот видос можно переименовать : сравнение 11 и 7 версии по Stream
Автор, удели внимание качеству изображения.. фокусировка происходит минутами.. неужели нельзя пересмотреть свое же видео перед тем как выложить.
После 7 версии Java куда-то не туда понесло...
Как сказать, на моих проектах - нововведения катастрофически облегчают разработку. Стримы, функциональщина и т.д. А вот отступление от предыдущей модели - это есть, точно :)
сильно надеюсь, что мы никогда не станем коллегами.
Это бывает
что за дичь? в java 8 уже был Arrays.asList, функциональные интерфейсы появились не после java 8, а в ней же они и появились! кстати для перечислений лучше использовать равенство. Удивительный человек сам не знает что нового где добавили но собеседует и критикует других людей
Да, вы правы, изменение в компараторе было в java 8. Не хотел и показаться бестактным и
критиковать. Но, List.of точно появилось после 8 версии :)
По поводу сравнения енамов - здесь холивар идет давно и я, конечно же, изучал аргументы Блоха по этому поводу. Поэтому говорить, что лучше, а что нет - крайне спорный вопрос и однозначного ответа на этот вопрос нет. Все крайне зависит от ситуации. В любом случае спасибо, всегда рад конструктивной критике, в реальной жизни этого часто не хватает. Хотя, я бы не был столь резким в высказываниях.
убрать пурум-пурум из речи и будет нормально
не трогай пурум-пурум!