Лямбда функции

Поділитися
Вставка
  • Опубліковано 11 лис 2020
  • Программу данного курса вы можете посмотреть по ссылке - docs.google.com/document/d/1H...
    Начиная с Java 1.8 появляются лямбда функции. Лямбда функция - анонимная
    функция реализующая функциональный интерфейс. Лямбда функции используются в том
    же контексте, что и ссылки на методы. Т.е. могут быть использованы только как
    реализация того или иного функционального интерфейса.
    Ссылка на конспект этой лекции - drive.google.com/file/d/1FvFc...

КОМЕНТАРІ • 25

  • @valentinaboiko6060
    @valentinaboiko6060 6 місяців тому +2

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

  • @Jishnuji
    @Jishnuji 3 роки тому +6

    Один из самых крутых курсов по сложным для понимания в Яве темам

  • @GM11
    @GM11 8 місяців тому +1

    Ты крутой! Огромное спасибо!

  • @user-ku6lc8zu4b
    @user-ku6lc8zu4b 3 роки тому +7

    Просто потрясающе! Спасибо большое.

  • @user-fx5kv5jv1t
    @user-fx5kv5jv1t 2 роки тому +1

    Александр, большое спасибо!!! Объяснили сложную реализацию функции очень понятно и лаконично!!!

  • @evgeniynorfolk5909
    @evgeniynorfolk5909 Рік тому +4

    Вам нужно скорее выкладывать эти курсы на платных площадках, таких как Stepik, Udemy и прочие. За такие качественные уроки люди готовы платить.
    Ну или как минимум, не стесняйтесь в описании к роликам указывать номер карты для благодарностей.
    Благодарю.

  • @user-fg7ri5vw8f
    @user-fg7ri5vw8f Рік тому +1

    - прекрасно
    - пример отличной подачи материала:
    - все четко
    - структурировано
    - последовательно
    - блестящая работа
    - спасибо
    PS: А нЕ тО каК некоТоРые НачНут СкаКать Взад_ впеРреД Все ВраЗбРос НиЧегО не пОняТно

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

    Лайк и комментарий в поддержку канала)

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

    Только теперь я осознал, почему если в теле лямды выскакивает exeption, то ей нужен свой блок try-cach, и почему внешней обертки нехватает. Раньше я не задумывался, что это полноценный отдельный метод со всеми вытекающими.
    Вы отлично доносите материал. Вот бы лекцию о дженериках посмотреть от вас. А то тоже материал не так прост как кажется на первый взгляд)

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

    Спасибо!!!

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

    Добрый день. Есть у вас лекции про обобщение?

  • @user-gb2cd6ge7z
    @user-gb2cd6ge7z Місяць тому

    А канал не обновляется в плане Java? Если автор читает коменты, может ответит) Про многопоток посмотреть бы. Приятные уроки, подобного не встречал пока.

    • @oleksandrtsymbaliuk
      @oleksandrtsymbaliuk  Місяць тому

      Добрый день. К сожалению плейлист по Java совершенно не пользуется популярностью, у зрителей. Поэтому его дальнейшее развитие я приостановил.

    • @user-gb2cd6ge7z
      @user-gb2cd6ge7z Місяць тому

      @@oleksandrtsymbaliuk здравствуйте! Печально что контент, который действительно считаю полезным, не востребован. В отличии от всякого Г. Все равно спасибо вам за труд. Удачи и успехов!))

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

    Очень недурно. Просмотрено с пользой.
    Могу только добавить:
    1. если абстрактный метод функционального интерфейса имеет только один параметр, то в лямбде можно не брать этот параметр в скобки.
    interface F{void abc(int x);}
    ...
    F f = x -> {};
    2. можно упомянуть о потенциальной разнице значений полей объекта/класса на момент создания лямбды и на момент вызова лямбды:
    class I{
    public static void main (String[] args)
    {
    new A().abc();
    }
    }
    class A{
    static int sx = 40;
    int oy =125;
    final int CONST = 50;
    void abc(){
    int sx_tmp=sx, oy_tmp=oy;
    int x = 10;
    final int y = 20;
    Function f = n -> {
    System.out.println(sx_tmp);
    System.out.println(sx);
    System.out.println(oy_tmp);
    System.out.println(oy);
    sx+=10;
    oy+=5;
    return n+x+y+sx+oy+CONST;
    };
    sx=50; oy=10;
    System.out.println("abc().Function = " + f.apply(10));
    }
    }
    //sx - static x, oy - object y.

  • @user-zi4tu2pk6g
    @user-zi4tu2pk6g 11 місяців тому

    @FunctionalInterface
    public interface StringModificator {
    public String getString(String text);
    }
    public class Main1 {
    public static void main(String[] args){
    StringModificator sm = (text) -> {
    String result = "";
    for (char let : text.toCharArray()){
    if (Character.isLetter(let) || let == ''){
    result += let;
    }
    }
    return result;
    };
    }
    }
    java: empty character literal

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

      А так у меня let == ' ' т.е. символу пробела, а у вас там ничего не стоит просто.

  • @user-zi4tu2pk6g
    @user-zi4tu2pk6g 11 місяців тому

    реалізація let == ' ' не працює IntelliJ IDEA Community Edition 2023.1.4

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

      Доброго дня. Мене збентежило ваше запитання. IDEA це середовище розробки, в ній і не повинно нічого працювати. Тому якщо щось не працює, то це пов'язано з версією Java, яку ви використовуєте. Але що б більш повно відповісти на ваше запитання мені потрібен блок коду, який не працює, і повідомлення про помилку.

  • @user-zi4tu2pk6g
    @user-zi4tu2pk6g 11 місяців тому +1

    public class Main1 {
    public static void main(String[] args){
    StringModificator sm = (text) -> {
    String result = "";
    for (char let : text.toCharArray()){
    if (Character.isLetter(let) || let == '') {
    result += let;
    }
    }
    return result;
    };
    System.out.println(sm.getString("Hello12345 word "));
    }
    }
    java: empty character literal

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

      Так опять тоже самое нужно let == ' ' т.е. нужно пробел поставить между одинарными кавычками.

    • @user-zi4tu2pk6g
      @user-zi4tu2pk6g 11 місяців тому

      Так.Дуже дякую.

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

    Сокровище для новичков, которым всетаки непосчастливилось попасть в зыбучую трясину отсталой JAVA!!!

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

      Это вы еще моих лекций по Fortran не видели :)