Розбір Stream API: Принципи роботи, Колектори. Optional API

Поділитися
Вставка
  • Опубліковано 22 тра 2024
  • 👉 Приєднуйся до Bobocode Community: www.bobocode.com/
    ____________________________________________
    Patreon: / bobocode
    GitHub: github.com/bobocode-projects
    Telegram: t.me/bobocode​
    LinkedIn: bit.ly/2RWPQF5
    Twitter: bit.ly/3vaQiOl
    Тарас в LinkedIn: bit.ly/2ElWg8J
    Тарас в Twitter: bit.ly/33Pmuwg
    ____________________________________________
    8-ме заняття тренувальної програми Ultimate Enterprise Java (2021).
    УВАГА! Відеозапис не містить активної частини заняття.
    00:00 - Нарізка основних моментів
    03:30 - Початок
    03:38 - План заняття
    03:59 - Як правильно робити вправи?
    12:12 - Імперативний vs. Декларативний стиль
    14:34 - Stream API
    15:14 - Які переваги використання Stream API?
    16:19 - Звідки взялися стріми в Java?
    17:35 - Розбір Stream API в коді
    24:12 - Проміжні vs. Термінальні операції
    28:38 - Скільки ітерацій виконується стрімі?
    32:55 - Q&A по Stream API
    35:05 - Операція reduce
    37:22 - Що робить flatMap?
    41:40 - Як працювати з примітивами? (IntStream, LongStream, DoubleStream)
    47:55 - Як згенерувати стрім?
    48:56 - Як імплементувати ітерацію на стрімі?
    50:35 - Що таке коллектор і для чого він потрібен? (Collector)
    52:29 - Як зібрати (collect) елементи в мапу?
    53:33 - Чому на стімах добре вчити дженеріки?
    54:34 - Для чого писати дибільні лямбди?
    56:15 - Як погрупувати елемети? (groupingBy)
    59:32 - Складніші вкладені коллектори (Downstream collectors)
    01:00:00 - Q&A по коллекторах
    01:01:42 - Такого на Stream API ви ще не бачили :)
    01:03:54 - Паралельні стріми
    01:05:00 - Чому використовувати паралельні стріми небезпечно?
    01:06:28 - Правила, як користуватися паралельними стрімами
    01:10:40 - Optional API
    01:12:02 - Розбір Optional класу
    01:16:25 - В чому різниця між методами orElse і orElseGet?
    01:19:24 - Як перейти під обʼєкта до його поля? (Метод map)
    01:19:39 - Для чого в класі Optional метод flatMap?
    01:21:59 - Де ще використовується декларативний стиль?
    01:23:08 - На сьогодні все :)
    #opensource #java #education

КОМЕНТАРІ • 17

  • @Bobocode
    @Bobocode  2 роки тому

    👉 Навчання від Bobocode: bit.ly/3IRrJhj

  • @user-wy6lj8pc4j
    @user-wy6lj8pc4j Рік тому +3

    Дуже дякую за відео!
    Чудовий канал, обов'язково продовжуйте просувати такий навчальний контент. А ми в свою чергу будемо вас підтримувати і популяризовувати.
    Бажаю вам всього найращого!

    • @Bobocode
      @Bobocode  Рік тому

      Дякуємо за підтримку!

  • @vladyslavh3940
    @vladyslavh3940 11 місяців тому

    Дуже крутий курс навіть для людей, які не перший рік пишуть на Джаві! Дякую!

    • @Bobocode
      @Bobocode  11 місяців тому

      Дякую! Насправді зараз всі учасники тренувальної програми - це люди, які не перший рік пишуть на джаві ;)

    • @vladyslavh3940
      @vladyslavh3940 11 місяців тому

      @@Bobocode Це круто. Бо для такого рівня людей надзвичайно мало контенту. Більшість ресурсів викладає матеріал з нуля і ти проходиш те, що вже і так знаєш, все дуже швидко набридає. У вас же відбувається прохід по слабких місцях багатьох. Ще раз дякую, продовжуйте!

  • @ggazila
    @ggazila 2 роки тому +1

    Дякую, дуже цікава лекція! І вправи до кожної лекції просто топ!

  • @user-yd4nz6er7w
    @user-yd4nz6er7w Рік тому

    1:03:20 "Через терни до зірок". Дякую Тарас за відео!

  • @andriikukuruza6844
    @andriikukuruza6844 2 роки тому

    Дякую за цікавий матеріал :)

  • @olegprylipko6084
    @olegprylipko6084 2 роки тому +1

    🔥Дякую!

  • @Bobocode
    @Bobocode  2 роки тому +6

    ДЗ:
    1. Вправа crazy-streams (bit.ly/3IMRaPG)
    2. Вправа crazy-optionals (bit.ly/3DjhH5X)
    Удачі! 💪

    • @user-nq4bt9lm2d
      @user-nq4bt9lm2d Рік тому

      Дякую за вправи. Streams, Optional, Generics - дуже хороші завдання!!!

    • @Bobocode
      @Bobocode  Рік тому +1

      @@user-nq4bt9lm2d дякую, що берете активну участь у дискусіях в коментарях. :)

  • @mykhailomolnar2432
    @mykhailomolnar2432 Рік тому

    А де завдання по мердж сорту? В java-fundamentals-course не знайшов

    • @Bobocode
      @Bobocode  Рік тому +1

      Привіт. Не всі завдання, які ми розбираємо на занятті є у репозиторії.

  • @rostyslavb1569
    @rostyslavb1569 Рік тому

    Чому в класі Account не використовується анотація @Data? Може дурне питання, все інше зрозуміло, а вот в момент звернув на це увагу, це метод начебто більш читабельний і оптимальний

    • @Bobocode
      @Bobocode  Рік тому

      Привіт. Про який метод ти говориш?