Введение в Streams. Метод map (прокачанная Java)

แชร์
ฝัง
  • เผยแพร่เมื่อ 7 ก.พ. 2025
  • Java для прокачанных: stream
    Разъяснение тем любой сложности доступным языком на простых примерах
    Автор курса: Заур Трегулов (zaurtregulov@gmail.com)
    Скидка на курс "JAVA - получи Чёрный Пояс!"
    STEPIK:
    stepik.org/a/1...
    UDEMY:
    www.udemy.com/...
    **************************************************************************************************
    Вы также можете по СКИДОЧНОЙ ЦЕНЕ приобрести готовый набор моих курсов по JAVA:
    stepik.org/a/2...
    или набор курсов, необходимый для JAVA ДЖУНА:
    stepik.org/a/2...

ความคิดเห็น • 42

  • @МаринаМингалева-р9р
    @МаринаМингалева-р9р 2 ปีที่แล้ว +3

    И тут наконец-то я все поняла! Спасибо! Низкий поклон!

  • @Марина-г9т5к
    @Марина-г9т5к 2 ปีที่แล้ว +4

    Большое спасибо за ваши уроки!

  • @ВикторПистолет
    @ВикторПистолет 11 หลายเดือนก่อน

    Какой вы молодец!!!!!!!!!!!!!!!!!!!!!!

  • @emrahhakan5462
    @emrahhakan5462 ปีที่แล้ว

    Большое спасибо Заур!

  • @janaschelle8377
    @janaschelle8377 3 ปีที่แล้ว +5

    Очень понятное объяснение, спасибо!

  • @AnastasiiaGaponova
    @AnastasiiaGaponova ปีที่แล้ว

    Восхитительно)
    волшебство прям 🤪

  • @mikhaillazarev5378
    @mikhaillazarev5378 7 หลายเดือนก่อน

    Очень благодарен за видео))

  • @mirankaololo
    @mirankaololo 2 ปีที่แล้ว +3

    Спасибо, отлично понятно

  • @MrGurgen777
    @MrGurgen777 2 ปีที่แล้ว

    Спасибо Заур!

  • @bereal9464
    @bereal9464 10 หลายเดือนก่อน

    ой блин как же все понятно спасибо Вам

  • @ism_ak
    @ism_ak 8 หลายเดือนก่อน

    thanks a lot!

  • @kuzd4niil
    @kuzd4niil 3 ปีที่แล้ว +2

    Благодарю

  • @Devivl
    @Devivl 2 ปีที่แล้ว

    Круто, спасибо. Курс так же можно купить на степике.

  • @baxiskerimzade2690
    @baxiskerimzade2690 ปีที่แล้ว

    Отлично

  • @РоманИванов-ъ2з
    @РоманИванов-ъ2з ปีที่แล้ว +1

    Благодарю за видео, всё четко и по полочкам! Хочу задать вопрос вам или людям шарящим, я в IDEA просто использовал .toList() вместо приведения через коллекции, вопрос: это изменения более поздних версий Java с лямбдами, или почему просто приведение к листу тоже работает?Заранее благодарю за ответ

    • @aibardulatov
      @aibardulatov ปีที่แล้ว +2

      У меня IntelIj сам предлагает удалить collect(Collectors.toList) и просто говорит пиши toList скорее всего произошли изменений в самом языке Java чтобы упростить написание

    • @РоманИванов-ъ2з
      @РоманИванов-ъ2з ปีที่แล้ว +1

      @@aibardulatov спасибо за обратную связь!

  • @HNKN4
    @HNKN4 2 ปีที่แล้ว +1

    Вы сказали, что методы Stream не изменяют коллекцию или массив, на котором они были вызваны. Тогда почему массив array не потребовал перезаписи?

    • @programaniya
      @programaniya  2 ปีที่แล้ว

      Можете уточнить временной интервал урока? Потому что я нашёл 1 пример с массивом array, и как раз таки там мы полученный результат в итоге назначаем переменной array. Благодаря чему и видим изменённые данные.

    • @HNKN4
      @HNKN4 2 ปีที่แล้ว +1

      @@programaniya спасибо за ответ.
      Меня ввел в заблуждение пример с List. Так как компилятор явно указал на то, что перезаписать поток на List list нельзя, я почему-то подумал, что это из-за того, что поток НЕ МОЖЕТ изменять коллекцию, а не потому что поток возвращал целочисленное значение и для этого пришлось перезаписывать его в List list2 :)

    • @programaniya
      @programaniya  2 ปีที่แล้ว

      Теперь всё стало ясно, или недопонимание ещё есть?

    • @HNKN4
      @HNKN4 2 ปีที่แล้ว

      @@programaniya все ясно, спасибо! :)

  • @aseptimu
    @aseptimu 2 ปีที่แล้ว +1

    Не понял в каких случаях надо писать return в map, а в каких нет? Почему в первом случае элементы были изменены без return?

    • @programaniya
      @programaniya  2 ปีที่แล้ว +2

      Return никакого отношения к изменению элементов не имеет. Здесь всё работает также, как и для лямбда выражений. Поэтому, чтобы хорошо понять стримы, надо иметь хотя бы общие представления о лямбда выражениях. Return мы использовали лишь потому, что логика содержит больше одного стейтманта, в отличии от первого примера.

    • @ЕкатеринаКамышева-ф5и
      @ЕкатеринаКамышева-ф5и 7 หลายเดือนก่อน +1

      Лямда по факту работает как анонимный класс, без названия и с одним методом. С левое стороны параметр, с правое тело метода. Если записывать полностью, то будет что то тип: (Student stud) -> ({int ageStud = stud.age; return ageStud*3;}), а если коротко, то stud -> stud.age*3.
      Надеюсь стало понятней

  • @Leonardo-gd2iz
    @Leonardo-gd2iz 2 ปีที่แล้ว +1

    Спасибо за ролик. Многое прояснилось. Получается map работает как set в List, заменяет значение. Тут конечно вопрос к создателям джавы, зачем это обозвали map, я думал мы мапим что-то, сопоставляем что-то с чем-то, а мы по факту этим методом заменяем значение элемента. Получается можно написать map(i -> "Привет") и у нас во всех элементах листа будет "Привет".
    Отельное спасибо за демонстрацию работы блока if в стриме, оказалось нужно возвращать значение через return. Опять же, на уровне логике это как то не очевидно было, а после просмотра мое мнение по блоку if уже звучит как - "действительно, ну а как иначе-то" )

  • @ConfidenceGold
    @ConfidenceGold 3 ปีที่แล้ว +4

    белую идею в темной комнате невозможно смотреть

    • @programaniya
      @programaniya  3 ปีที่แล้ว +2

      Просто уменьшите яркость экрана. Я сам использую тёмный фон, но он для записи экрана не очень подходит.

    • @ConfidenceGold
      @ConfidenceGold 3 ปีที่แล้ว +1

      @@programaniya может попробуете хотя бы? яркость яркостью, но белый от этого черным не становится)

    • @programaniya
      @programaniya  3 ปีที่แล้ว +1

      @@ConfidenceGold Так пробовал, поэтому и говорю )

    • @abdulloh7374
      @abdulloh7374 2 ปีที่แล้ว

      @@programaniya
      Здравствуйте!
      Когда вы взяли длину каждого стринга, почему вы не возвращали его с return?
      А когда вы работали с int array вы возвращали каждый элемент с return?
      Спасибо большое!
      У вас отличные уроки!

  • @макскупр-ш4у
    @макскупр-ш4у 2 ปีที่แล้ว

    Кто обнёс Заура? Голос вроде самого Заура)

    • @programaniya
      @programaniya  2 ปีที่แล้ว

      Это я и есть :)

  • @programming_amo
    @programming_amo 2 ปีที่แล้ว

    потно

  • @Tima-pr2sb
    @Tima-pr2sb ปีที่แล้ว

    Краденые видосы трегулова

    • @programaniya
      @programaniya  ปีที่แล้ว

      Ну так это я и есть - Трегулов Заур. Это мой канал, на котором я выкладываю некоторые уроки из своих курсов и другой полезный контент =)

    • @Tima-pr2sb
      @Tima-pr2sb ปีที่แล้ว

      @@programaniya если это так то извиняюсь, я просто смотрел твои курсы по джаве, мне зашло, отличный контент

    • @alekseyfrozis937
      @alekseyfrozis937 ปีที่แล้ว

      🤣🤣🤣 чел ты жжёшь