Назад к вопросам
Junior
66
questionbank

Используете ли вы в своей работе лямбда-выражения?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Да, активно использую.

Лямбда-выражения значительно повышают читаемость и лаконичность кода, особенно при работе с функциональными интерфейсами и стримами.

Примеры применения:

  1. В Collections Framework:

    // сортировка списка строк по длине
    List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
    names.sort((s1, s2) -> s1.length() - s2.length());
    
  2. В Stream API:

    // фильтрация и маппинг элементов
    List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
    List<Integer> evenSquares = numbers.stream()
                                       .filter(n -> n % 2 == 0) // фильтр
                                       .map(n -> n * n) // маппинг
                                       .collect(Collectors.toList());
    
  3. При работе с многопоточностью (Runnable, Callable):

    // создание задачи для выполнения в отдельном потоке
    Runnable task = () -> System.out.println("Task accomplished!");
    new Thread(task).start();
    
  4. При использовании функциональных интерфейсов:

    // использование предопределенного функционального интерфейса
    Consumer<String> printer = s -> System.out.println("Printing: " + s);
    printer.accept("Hello");
    

Лямбда-выражения помогают создавать более гибкий и выразительный код, следуя парадигме функционального программирования. Важно правильно выбирать их использование, чтобы не ухудшить читаемость в случае слишком сложных выражений.